ToolsForWeb

Sitemap URL Extractor

Paste a sitemap URL - or just a domain, and /sitemap.xml is assumed - to get every <loc> in it as a numbered list with lastmod dates, ready to copy or download. Sitemap indexes are followed into their child sitemaps. This tool fetches the sitemap from our server: the URL you enter is sent to toolsforweb.com, which retrieves and parses it, protected by a human-verification check.

Loading tool…

About this tool

Paste a sitemap URL — or a bare domain, and /sitemap.xml is assumed — and the tool fetches it and lists every <loc> it contains as a numbered list with each entry's lastmod date, ready to copy or download. When the URL points at a sitemap index rather than a plain sitemap, the child sitemaps are fetched and their URLs merged into one list. The fetch runs on our server, not in your browser, so the URL you enter is sent to toolsforweb.com behind a one-time human-verification check. A few hard limits keep it well-behaved: at most 5,000 URLs returned, up to 10 child sitemaps expanded from an index, a 5 MB response cap and a 15-second timeout per fetch.

When to use it

Pulling a full URL inventory out of a site's sitemap for a crawl, migration or content audit.
Checking which pages a site advertises to search engines against the set you expect to be indexed.
Reading the child-sitemap list out of a sitemap index to see how a large site is partitioned.
Exporting a URL list to diff against a previous crawl or feed into another tool.

Questions

What is a sitemap index and how does the tool follow it?

A sitemap index is a sitemap of sitemaps: instead of <url> entries it holds <sitemap> entries, each pointing at another sitemap file. Sites use one when they have more URLs than the 50,000-per-file limit allows, or want to group URLs by section. When the URL you give resolves to an index, the tool fetches each child sitemap (up to 10), parses it, and merges every child's URLs into a single list. It only goes one level deep — an index that points at more indexes is not recursed into.

Why are some URLs missing from the list?

Three caps can trim the result. The list stops at 5,000 URLs; past that the tool tells you it was truncated. From a sitemap index it fetches at most 10 child sitemaps, so a site split into more than that will be partially covered. And it descends only one level, so URLs that sit under a nested index are not reached. If any of these bite, fetch the specific child sitemap directly to get its full contents.

Why is the URL sent to your server instead of staying in my browser?

A browser cannot fetch a sitemap from another domain — the same-origin policy blocks the request, and most sites do not send CORS headers on their sitemap. So the fetch has to happen server-side: you submit the URL, our server retrieves and parses it, and sends back the list. The human-verification check in front of that endpoint is there to stop the fetcher being used as an open proxy. Nothing about the request is logged against you beyond anonymous error counters.

Is the lastmod date trustworthy?

Treat it as a hint, not a fact. lastmod is self-reported by whatever generates the sitemap, and plenty of systems either omit it, stamp every URL with the build time, or leave it frozen at the date the page was created. When it is maintained properly it is genuinely useful for spotting what changed recently; when it is not, it is noise. Cross-check against the page itself before relying on it.

It says the URL returned a web page, not a sitemap — what do I do?

That message means the response was HTML, which almost always means the URL is wrong and you landed on a normal page or a 404 template. Check that the address really ends in the sitemap file (often /sitemap.xml, /sitemap_index.xml or /sitemap-index.xml) and not a trailing slash or a section page. If a bare domain gave you this, the site does not have a sitemap at the default /sitemap.xml path — find the real location from its robots.txt.

How do I find a site's sitemap when /sitemap.xml doesn't work?

Open the site's robots.txt (at the domain root, e.g. example.com/robots.txt) and look for one or more Sitemap: lines — that is the canonical place a site declares where its sitemaps live, and the URL there is often not the default path. Paste that URL into this tool. The tool does not read robots.txt for you: it assumes /sitemap.xml for a bare domain and otherwise fetches exactly the URL you give it.

Does it handle gzipped sitemaps?

A sitemap served over HTTP with gzip content-encoding is decompressed automatically during the fetch, so those work without you doing anything. A sitemap published as a standalone .xml.gz file — a compressed file the server hands over as-is — is not unpacked, and the tool will not find any URLs in it. In that case point the tool at the uncompressed sitemap, or at the sitemap index, which is almost always served as plain XML.

Is this a sitemap validator?

No. It extracts the URLs and their lastmod values and does nothing else — it does not check the XML against the sitemaps.org schema, flag entries over the 50,000-URL or 50 MB limits, verify that each <loc> returns 200, or warn about malformed dates. It is a fast way to get the list of URLs a sitemap contains, not a conformance check. If you need validation, run the file through a dedicated sitemap validator as well.

Related tools