Check a site
Sitemap URL extractor and page inventory
Extract every URL from your XML sitemap and turn it into a page inventory: status code, title, meta description, H1, canonical, noindex and word count for each page, filterable and ready to download as CSV.
Free · No signup · Reads public pages only
How it works
Enter your website (or a sitemap's address) and choose how many pages to list, up to 200.
We find your sitemaps, take the URLs in the order they're listed, and fetch each page once, following redirects, to read its status and head tags.
Filter for the problems you care about, then download the whole list, or just the filtered rows, as a CSV for your spreadsheet.
Why build a page inventory
A page inventory (sometimes called a content inventory) is a spreadsheet with one row per page on your site. It's the starting point for most SEO work that touches more than a handful of pages: a content audit, a site migration, a redesign, pruning old posts, or simply finding out what's actually live.
Your sitemap is the quickest source for it, because it's the list of pages you've told search engines about. Extracting the URLs is the easy half; the useful half is what each URL returns today. A sitemap that says 400 pages doesn't tell you that 30 of them redirect, 12 are set to noindex and 50 share the same title. This tool fills in those columns.
What each column tells you
- Status: the HTTP answer after redirects. Anything but 200 is worth a look; "after redirect" means the sitemap lists an old address.
- Title and length: the title tag Google usually shows as the blue link. Missing or duplicate titles make pages hard to tell apart.
- Meta description and length: the snippet Google often shows under the link. Missing ones leave Google to pick text from the page.
- H1: the page's main heading. Pages without one are often templates or thin pages.
- Words: words of main content in the HTML, without menus and footers. Very low counts flag thin pages, or pages that need JavaScript to show their text.
- Indexing: noindex means the page asks to stay out of search; "canonical elsewhere" means it names another URL as the main version.
- Last modified and language: from the server's Last-Modified header and the page's lang attribute, when they're set.
Problems worth fixing first
Start with the filters. Pages that aren't 200 should come out of the sitemap or be fixed. Noindex pages in a sitemap send search engines opposite signals; decide which one you mean. Missing titles and descriptions are quick wins, and duplicate titles usually point to template pages, filters or near-duplicate posts that compete with each other in search.
Then sort the CSV by word count. The shortest pages are where thin content and accidental placeholder pages hide. Compare them against your analytics before deleting anything: a short page can still earn traffic.
What this tool can't see
It lists up to 200 pages per run, in sitemap order, so on a big site it's a sample of the first sections rather than the whole site. If your site has no sitemap, it lists the pages your homepage links to instead, which is usually your main navigation.
It reads the HTML your server sends, before JavaScript runs, the way most crawlers first see it. It doesn't know about traffic, rankings or backlinks: join the CSV with a Search Console export (Pages report) to see which of these pages actually earn clicks. And it only finds pages that are in your sitemap; pages missing from it need a crawl of your site's links.
Questions people ask
How do I extract all URLs from a sitemap?
Enter your site and run the tool. It finds the sitemap through robots.txt (or /sitemap.xml), follows a sitemap index into its child sitemaps, and lists the page URLs with their details. Download the CSV to get them in a spreadsheet.
Can it handle a sitemap index?
Yes. It reads the index and up to 10 of the sitemaps it lists, stopping once it has as many URLs as you asked for. Compressed .xml.gz sitemaps can't be read yet.
Why does a page show a different word count than I expect?
We count the main content in the page's HTML, leaving out navigation, headers, footers and scripts. If your content is added by JavaScript after the page loads, it won't be counted, and crawlers that don't run JavaScript won't see it either.
Why is the limit 200 pages?
Each page is fetched one by one from your server, and we keep runs short so they don't load your site or time out. Romeo, our SEO agent, keeps a full inventory of every page if you need the whole site.
Is this sitemap URL extractor free?
Yes. No signup. It reads your public sitemap and pages, and the CSV is built in your browser.
Want it done for you?
Romeo keeps this inventory for every page, every day
He crawls your whole site, not just 200 pages, tracks what changes, writes missing titles and descriptions, and finds pages that compete with each other. Every fix comes to you for approval.

