Sitemap URL Extractor
Pull every URL out of a sitemap, including nested index files and gzipped ones, then download the whole list as CSV, TXT, or JSON.
Short answer
A sitemap URL extractor pulls the full list of URLs out of a sitemap or a sitemap index and gives it back as CSV, TXT or JSON. It follows nested index files down through their children and handles gzipped sitemaps, which is the part that makes doing this by hand tedious. It returns up to 5,000 URLs per run and says so when the list is partial, so you are never guessing whether you have the whole site.
What the extractor handles
Most sitemaps on real sites are not a single flat file. They are an index pointing at several children, split by content type, and often compressed. The extractor deals with all of that and hands back one plain list.
- Sitemap index files. Followed recursively to three levels, across up to 50 child sitemaps.
- Gzipped sitemaps. Both a gzip Content-Encoding header and a raw .xml.gz file are decompressed before parsing.
- Namespace prefixes. Files using a prefix such as sm:urlset parse the same as unprefixed ones.
- CDATA and entities. URLs wrapped in CDATA or carrying escaped ampersands are decoded properly.
- Optional fields. lastmod, changefreq, and priority come through into the CSV alongside each URL.
- Source tracking. Each row records which child sitemap the URL came from, which matters when you are debugging an index.
What you get back
- A searchable, paginated table of every extracted URL.
- CSV with url, lastmod, changefreq, priority, and source sitemap columns.
- Plain text, one URL per line, for pasting into another tool.
- JSON, if you want to script against the output.
- A per-file breakdown showing how many URLs each child sitemap contributed.
What people use a sitemap URL list for
- 01
Pre-migration inventory
Extract every URL before a replatform, so you have a definitive list to build redirects from and to check against afterwards.
- 02
Bulk status checking
Feed the list into a link checker to find which declared URLs are already dead. Our sitemap crawler does this for the first 100 automatically.
- 03
Competitor research
A competitor sitemap tells you their full content inventory, their URL patterns, and, through lastmod, how often they actually publish.
- 04
Content auditing
Group the URL list by path prefix to see where your pages actually live and which sections have grown without anyone deciding they should.
- 05
Rank tracker setup
Import the list rather than adding URLs by hand, so tracking matches what the site actually publishes.
A useful trick
Extract the same sitemap a month apart and compare the two CSV files. The difference is your real publishing rate, plus every URL that quietly disappeared.
Sitemap list or crawled list: which one you want
Both this tool and the website URL extractor hand you a list of a site's URLs, and they answer different questions. This one reads the sitemap, so it reports what the site says it has. That one crawls the live site by following links, so it reports what the site actually connects to.
- Use the sitemap list when you want speed and completeness. One file, no crawling, and on a well-maintained site it includes pages nothing links to.
- Use a crawl when there is no sitemap, when you suspect the sitemap is stale, or when you need to know how each page is actually reached.
- Use both when the counts disagree, because the gap is the finding. URLs in the sitemap but not the crawl are orphan pages: declared to Google, cut off from your internal links. URLs in the crawl but not the sitemap are pages you link to but never declared.
The sitemap comparison tool does that diff for you once you have both lists.
Reading a sitemap URL list
A flat list of URLs answers a few questions quickly once you sort it.
- Count by path prefix. If one section holds most of your URLs, that is where your crawl budget goes, whether you meant it to or not.
- Look at lastmod spread. Every URL sharing one date means the field is generated, not real, and Google will ignore it.
- Check for parameter URLs. Filter and sort parameters in a sitemap usually mean the generator is indexing faceted navigation.
- Scan for staging hostnames. Migrations regularly leave a handful of staging URLs behind in the generated file.
To see this as a structure rather than a list, the visual sitemap generator groups the same URLs into a navigable tree.
Output formats, and what each one is for
The same list in three shapes. Which one you want depends entirely on what happens to it next.
| Format | Best for | What you get |
|---|---|---|
| CSV | Spreadsheets and audits | URL plus lastmod, changefreq and priority where the sitemap carried them |
| TXT | Piping into another tool | One URL per line, nothing else |
| JSON | Scripts and diffs | Structured entries, easy to compare between two runs |
Three jobs the list does well
A URL list is not interesting on its own. It becomes interesting the moment you compare it against something else: the pages Google has actually indexed, the pages your analytics recorded a visit to, or the same list from before a migration.
- Migration checks. Export before, export after, diff. Anything in the first list and not the second either moved or vanished, and you want to know which before Search Console tells you.
- Coverage gaps. Compare the sitemap against your indexed pages. URLs declared but never indexed are the ones worth investigating.
- Competitor research. A sitemap is public and complete. It is a faster read on what a competitor has invested in than any keyword tool.
The comparison that finds the most is usually the dullest one: your sitemap against your own analytics. A URL declared in the sitemap that has never received a visit is either a page nobody wants or a page nobody can find, and the two problems have completely different fixes.
The most useful thing to do with two exports is to diff them. A JSON export taken before a migration and another taken after tells you exactly which URLs disappeared, which is a question that is otherwise surprisingly hard to answer.
Frequently asked questions
What does the sitemap extractor do?
It fetches a sitemap, follows any sitemap index down through its child files, and returns one flat, de-duplicated list of every URL with its lastmod, changefreq, and priority. You can copy the list or download it as CSV, TXT, or JSON.
Does it follow sitemap index files?
Yes, up to three levels deep and up to 50 sitemap files. Nested indexes are walked recursively with a cycle guard, so a sitemap that points back at itself will not loop.
How many URLs can it extract?
Up to 5,000 per run, within a 40 second budget. If the sitemap holds more, the result tells you the total found alongside the number returned, so you always know whether the list is complete.
Does it work with gzipped sitemaps?
Yes. A sitemap.xml.gz is decompressed before parsing, whether the server sends it with a gzip Content-Encoding header or serves the raw compressed file.
Can I give it a domain instead of a sitemap URL?
Yes. Paste example.com and it looks for the sitemap first, checking robots.txt and nine common paths, then extracts from whatever it finds.
What can I use the URL list for?
Common uses are bulk-checking status codes, feeding a list into a rank tracker or a crawler, building a redirect map before a migration, comparing two sites during a merge, and auditing which URL patterns dominate a site.
Are the URLs de-duplicated?
Yes. Duplicate loc values across child sitemaps appear once in the extracted list. If you want to know how many duplicates the sitemap itself contains, run the sitemap validator, which reports them as a warning.
Does the extractor follow sitemap index files?
Yes. It walks the index down through its children and returns the combined list, up to 50 child sitemaps. That is the part that makes this tedious by hand, because a large site's index can point at dozens of files.
Does it handle gzipped sitemaps?
Yes. A sitemap.xml.gz is decompressed before parsing, so you can point the tool at either form. Large catalogues almost always serve the gzipped version.
What if my sitemap has more than 5,000 URLs?
You get the first 5,000 and a note saying the list is partial, so you are never left guessing whether you have the whole site. For a complete export of a larger site, a crawl is the right instrument: the website URL extractor follows internal links instead of reading the file, and is not bound by the sitemap's contents.
Can I extract URLs from a competitor's sitemap?
Yes, and it is one of the most common uses. A sitemap is a public file, and a competitor's is a complete list of what they consider worth indexing, which is a faster read on their content strategy than any keyword tool.
Other sitemap tools
XML Sitemap Generator
Crawl any website and generate a valid XML sitemap you can download and submit. No signup, no software to install.
Use toolXML Sitemap Validator
Test any XML sitemap against the sitemaps.org protocol. Catches namespace errors, bad lastmod dates, size limits, and cross-domain URLs.
Use toolSitemap Checker
Check a sitemap end to end: the file against the sitemaps.org protocol, then a live check of the URLs inside it. One pass, one health score.
Use toolSitemap Crawler
Crawl every URL your sitemap declares and find the dead links, redirects, noindex pages, and canonical conflicts hiding inside it.
Use toolSitemap Index Generator
Paste your sitemap URLs and get a valid sitemap index file back, with optional lastmod dates. For sites past the 50,000 URL limit that split their sitemaps.
Use toolSitemap Comparison
Compare two sitemaps and see exactly which URLs were added, removed, and kept. Catch the pages a migration or a regenerated sitemap silently dropped.
Use toolSitemap Finder
Find where any website hides its sitemap. Checks robots.txt directives plus nine common paths, including WordPress and gzipped variants.
Use toolVisual Sitemap Generator
Turn any site into a visual tree of its structure. See how deep your pages sit and which sections carry the most URLs.
Use toolRead up on sitemaps
A tool tells you what is wrong. These explain what to do about it.
SEO Migration Checklist 2026 (Free Template, Pre, During & Post Migration)
Read guideEnterprise SEO Audit: The Complete Guide for 100K+ Page Sites (2026)
Read guideScreaming Frog Review 2026: Pricing, Features & Honest Verdict
Read guideTerms this tool checks
- XML Sitemap
An XML sitemap is a file (typically at /sitemap.xml) that lists all the important URLs on your website along with metadata like last modification date, change frequency, and priority.
- Orphan Page
An orphan page is a page on your website that has no internal links pointing to it from any other page.
- Indexation
Indexation is the process by which search engines add web pages to their searchable database (index).
A URL list is the start, not the answer
CrawlRaven takes the same URLs and joins them to your Search Console impressions and GA4 sessions, so every row tells you whether the page is indexed, ranking, and earning anything.