Free sitemap tool
Free Sitemap URL Extractor & Validator
Paste an XML sitemap URL — or just a domain — and get every page URL out. Index files are walked to their children, .xml.gzis decompressed, and then it does what the others don't: it doubles as a sitemap checker, validating the file against the spec, flagging URLs your own robots.txt blocks, and testing whether the URLs still resolve. Free, no sign-up.
Why most extractors fail
The sitemap index problem
Any site past a few hundred pages doesn't publish one sitemap. It publishes a sitemap index — a file whose entries are other sitemap files. WordPress, Shopify, Yoast and Rank Math all do this by default.
Paste that index into most free extractors and you get back a tidy list of five sitemap URLsinstead of your five thousand pages. The tool did what it was told; it just didn't do the job you wanted. You then extract each child by hand and paste the results together.
This one recurses. It detects an index, fetches every child sitemap it points at, follows nesting up to three levels, and merges everything into one list — while showing you a per-file breakdown so you can see exactly which sitemap each URL came from and which files errored.
The same applies to .xml.gz. A gzipped sitemap is a compressed file, not a gzip-encoded HTTP response, so browsers and many tools hand you binary garbage. We check for the gzip signature and inflate it before parsing.
And then it keeps going.Extraction answers “what URLs are in here.” The more useful question is what's wrong with them — so the same run audits the file against the spec, cross-checks robots.txt for URLs you're submitting and blocking simultaneously, and will fire live status checks at the URLs on request. We tested the free extractors ranking for this term in July 2026: all of them stop at extraction.
From a domain to a URL list in three steps
- 01Paste
A sitemap URL, or just a domain
Give it example.com/sitemap.xml directly, or just example.com. From a bare domain we read robots.txt for the site's own Sitemap: declaration first, then probe the common paths including WordPress's wp-sitemap.xml.
- 02Walk
Index files, nested sitemaps, gzip
Most sites publish a sitemap index pointing at child sitemaps, not one flat file. We follow every child up to three levels deep and decompress .xml.gz automatically, so you get the whole set rather than a list of other sitemaps.
- 03Audit
What's wrong with it, and what still resolves
Then the part other extractors skip. We check the sitemap against the spec and cross-reference robots.txt — flagging URLs you're asking Google to crawl and blocking at the same time, malformed lastmod values, off-host URLs and unreachable child files — and you can fire live HTTP status checks at the URLs themselves. Filter, sort, then export to CSV, TXT or JSON with no sign-up and no email wall.
Finding the file
How to find the sitemap of a website
You don't need to guess — and you shouldn't start by trying /sitemap.xml. The authoritative answer is in the site's own robots.txt, which can declare any number of Sitemap: lines pointing anywhere, including another domain.
The order that actually works, and the order this tool uses:
- Read
example.com/robots.txtand take everySitemap:directive it declares. This is the site telling you directly. - If robots.txt is silent, probe the conventional paths:
/sitemap.xml,/sitemap_index.xml,/sitemap-index.xmland/wp-sitemap.xml— the last one is WordPress core since 5.5 and is the single most commonly missed location. - If you own the site, Search Console's Sitemaps report lists what you've actually submitted, which is often not the same set as what robots.txt advertises.
Don't bother with a site:search. Sitemaps are XML files rather than pages, and they're rarely surfaced that way, so an empty result tells you nothing about whether one exists. Paste the bare domain above and the tool runs steps 1 and 2 for you, then tells you which method found the file.
The format, briefly
What's actually inside an XML sitemap
A sitemap is an XML file listing the pages a site wants crawlers to know about. Each entry is a <url> block with a required <loc> (the address) and three optional hints: <lastmod>, <changefreq> and <priority>. This extractor pulls all four into the CSV.
Worth knowing: Google has said it ignores changefreq and priority entirely, and treats lastmodas a signal only when it's demonstrably accurate. If every URL in a sitemap carries today's date, that's a CMS writing timestamps rather than a site reporting real changes — and it's a useful thing to spot in the export.
A single sitemap file is capped at 50,000 URLs and 50MB uncompressed. Past that, sites split into multiple files behind an index. A 200,000-page site is therefore at least five files, and reading only the first one gets you a quarter of it.
The sitemap and robots.txt are really one job: the sitemap says what exists, robots.txt says what may be fetched, and the damage happens where they disagree. If this audit flags a conflict, the robots.txt tester shows which rule is responsible, and the robots.txt generator will write a corrected file with the Sitemap: line declared properly.
FAQ
Sitemap extraction, answered
- 01How do I extract all URLs from an XML sitemap?Paste the sitemap URL into the tool above and it returns every <loc> it finds, including URLs inside nested child sitemaps. You can also paste a bare domain — it will locate the sitemap for you. Then copy the list or export it as CSV, TXT or JSON. Nothing is gated behind a sign-up.
- 02What if the site uses a sitemap index instead of one file?That's the normal case on any site above a few hundred pages, and it's where most extractors quietly fail — they hand you a list of child sitemap URLs instead of the actual pages. This tool detects a <sitemapindex>, fetches every child sitemap it points to (up to 200 files, three levels deep), and merges the results, showing you a per-file breakdown of where each URL came from.
- 03Does it handle gzipped .xml.gz sitemaps?Yes. A .xml.gz sitemap is a gzipped file rather than a gzip-encoded HTTP response, so browsers and many tools won't read it. We detect the gzip signature and decompress it server-side before parsing.
- 04How do I find the sitemap of a website?Enter the bare domain — that's the recommended input, and finding the file is the first thing the tool does. It checks robots.txt first, because a site's Sitemap: directive is its own authoritative answer and can point anywhere, including to a different host. If robots.txt is silent it probes the common locations: /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml (WordPress core since 5.5), /sitemap-index.xml and a few others. Two things worth knowing: a site: search is not a reliable way to look, since sitemaps are XML files rather than pages and are rarely surfaced that way, and if it's your own site the Search Console Sitemaps report shows what you actually submitted, which is often a different set from what robots.txt advertises.
- 05Is there a limit on how many URLs it extracts?It reads up to 50,000 unique URLs in total, across up to 200 sitemap files. Worth being precise: the sitemaps.org spec caps a single file at 50,000, so a very large multi-file index can legally exceed our total — we tell you when we truncate rather than quietly returning a short list. There's also a 45-second wall-clock budget, which on a very large index is the limit you'll actually hit first — when it fires we return what we have and say the results are partial. The on-screen table shows the first 1,000 for browser performance; the exports contain everything extracted, and follow your filter if one is active.
- 06What can I use the extracted URL list for?Most people arrive here mid-migration, bulk-checking status codes on the old URL set. The other common one is diffing a sitemap against what Search Console says is actually indexed — the gap between those two lists is usually where the problem is. The CSV keeps lastmod, so you can also sort by what genuinely changed most recently.
- 07Can I use this to validate an XML sitemap?Yes — validation runs automatically on every extraction, so the tool doubles as a sitemap checker. There are two separate things people mean by "valid" and it's worth splitting them. The first is whether the XML conforms to the sitemaps.org schema: required <loc>, well-formed dates, priority within 0.0–1.0, a recognized changefreq, under 50,000 URLs and 50MB. The second is whether the sitemap is telling the truth — whether those URLs actually resolve, whether they're on the host you think, and whether robots.txt contradicts them. A sitemap can be perfectly valid XML and still be useless because every URL in it 404s. This checks both, scores the result 0-100 on a published rubric, and shows the affected count with example URLs for each finding.
- 08What does the sitemap audit check?Spec conformance and consistency. Invalid or future-dated lastmod values, priority outside 0.0–1.0, invalid changefreq, URLs on a different host than the sitemap (which crawlers ignore unless you've verified cross-submission), plain http:// URLs, URLs over 2,048 characters, files over the 50,000-URL limit, empty sitemaps, and child sitemaps referenced by an index that error or 404. Each finding comes with the affected count and example URLs, plus a 0-100 score on a published rubric: minus 20 per error, minus 7 per warning.
- 09How does the robots.txt cross-check work?We fetch the site's robots.txt and parse it with Google's precedence rules: user-agent tokens match by equality with the documented fallback chain (Googlebot-News falls back to Googlebot), all groups declaring the winning token are merged, the longest matching rule wins, Allow beats Disallow on an exact-length tie, and wildcards, $ anchors and percent-encoding are all handled. Then we test every extracted URL against it. Any URL that appears in your sitemap while being disallowed is flagged. That combination is a genuine own-goal: you're asking Google to crawl a page and telling it not to fetch that page, which shows up in Search Console as "Blocked by robots.txt" — or, if Google decided to index the URL anyway on the strength of links pointing at it, as the "Indexed, though blocked by robots.txt" warning. We also tell you whether your sitemap is declared in robots.txt at all.
- 10How do I fix "Indexed, though blocked by robots.txt"?That warning means Google indexed a URL it was never allowed to fetch — it saw the address somewhere (usually your sitemap, or a link) but robots.txt told it not to read the page. First decide which outcome you want. If the page should be in the index, remove the Disallow rule that blocks it; this tool names the exact rule, so you know which line to change. If the page should not be in the index, the fix is the opposite of what most people try: unblock it in robots.txt and add a noindex meta tag or X-Robots-Tag header instead, because Google has to be able to crawl the page to see the noindex. Leaving it blocked can keep it stuck there for a long time. Which branch you took decides what happens to your sitemap: if you unblocked the page to keep it indexed, it belongs in the sitemap and nothing more is needed. If you noindexed it, take it out — a URL that is both submitted and disallowed is the contradiction this audit flags.
- 11Can it check whether the URLs still work?Yes, and as far as we can tell no other free sitemap extractor does. After extracting, you can run live HTTP status checks against the URLs — HEAD requests first, falling back to a ranged GET for servers that reject HEAD, following redirects and reporting the final destination and hop count. It runs in batches of 50 so a single request stays within a sensible time budget; keep clicking to work through a larger set. Status codes and redirect targets are included in the CSV and JSON exports.
- 12A site is blocking your fetcher. Can I still use the tool?Yes. Some publishers' bot protection refuses any unfamiliar user agent — we see 403s from a number of major news sites — and when that happens we say so plainly rather than pretending the sitemap is broken. Switch to paste mode and drop the XML in directly, or upload the file (up to 4MB, which is the request-body ceiling we can accept), and everything downstream works the same: parsing, de-duplication, the audit and the exports. The one limit is that a pasted sitemap index can't be walked, since we'd have to fetch the children we were just blocked from.
- 13Does an XML sitemap affect whether AI engines cite my site?Only indirectly. A sitemap helps crawlers discover pages; it is not a ranking or citation signal, and no AI provider documents it as one. What matters more for AI visibility is whether those pages are reachable and readable by AI crawlers at all — which is a robots.txt and rendering question, not a sitemap one. Our AI Crawler Checker covers that side.
You have the URL list. Can AI crawlers actually reach those pages?
A sitemap only declares what exists. The AI Crawler Checker shows which of 34 AI crawlers — GPTBot, ClaudeBot, PerplexityBot — your robots.txt allows or blocks, with the exact line to fix. Free.