Sitemap URL Extractor

Server assisted New Website & HTTP Diagnostics

Fetches a sitemap through the Mutqan server, or reads XML or a plain-text sitemap you paste, and lists the URLs it contains with their lastmod, changefreq, priority and hreflang counts. Keep only the URLs that contain a piece of text, remove duplicates, sort by date or alphabetically, then copy the list or download it as TXT or CSV for an audit, a crawl or a migration map.

Privacy: The Mutqan server sends the small, fixed test requests described on this page to the host you name, and nothing is stored. Use it only against systems you are authorised to test.
Loading tool…

What is an XML sitemap?

An XML sitemap is a file that lists the URLs of a site a search engine should know about, each in a url element with its loc and optional lastmod, defined by the sitemaps.org protocol 0.9. One file holds at most 50,000 URLs and 50 MB uncompressed, larger sites list several files in a sitemap index, and every URL must be absolute and on the sitemap's own host. A sitemap helps discovery; it does not guarantee crawling or indexing.

How to use Sitemap URL Extractor

  1. Enter the sitemap URL, or paste its XML or a plain-text list of URLs.
  2. Optionally type text the URLs must contain (for example /blog/), choose an order and keep "Remove duplicate URLs" ticked.
  3. Press Extract URLs.
  4. Copy the list, or download it as TXT or the table as CSV for a spreadsheet, a crawler or a redirect map.

Sitemap URL Extractor features

  • Reads XML sitemaps, sitemap indexes and plain-text sitemaps, fetched through the Mutqan server or pasted
  • Keeps only the URLs that contain a piece of text — a directory such as /blog/, a language prefix, a parameter
  • Removes duplicate URLs and says how many were removed
  • Sorts in sitemap order, alphabetically, or by lastmod, newest or oldest first
  • Shows the lastmod range of the file and how many entries carry a lastmod
  • Outputs a plain list (one URL per line) to copy or download as TXT, and a table with lastmod, changefreq, priority and hreflang counts to download as CSV

Inputs and outputs

Inputs

  • Sitemap URL — fetched through the Mutqan server, up to 512 KiB, redirects followed.
  • Or the sitemap pasted — XML (urlset or sitemapindex) or a plain-text list of absolute URLs, read in your browser.
  • Only URLs containing — optional, case-sensitive text the URL must include.
  • Order and Remove duplicate URLs — sitemap order, alphabetical, newest or oldest lastmod; duplicates removed by default.

Outputs

  • Summary — entries in the file, URLs listed after filtering, duplicates removed, lastmod coverage and range, and the number of hosts.
  • URLs (one per line) — the full list, to copy or download as sitemap-urls.txt.
  • URL table — up to 2,000 rows with lastmod, changefreq, priority and the number of hreflang alternates, downloadable as sitemap-urls.csv.
  • Fetch details — when a URL was fetched: final URL, status, Content-Type, size, resolved address and timing.

Sitemap URL Extractor example

Blog URLs from a sitemap, newest first

Input:

Pasted urlset with six entries (one of them a duplicate of /blog/) · Only URLs containing: /blog/ · Order: Newest lastmod first

Output:

Entries in file 6 · Listed 3 (after the filter) · Duplicates removed 1 · With lastmod 5 / 6 · Newest lastmod 2026-10-08 · Oldest lastmod 2026-08-02
https://www.example.com/blog/
https://www.example.com/blog/http2-vs-http3
https://www.example.com/blog/robots-txt-guide
Warning: The file has 1 protocol error; the XML Sitemap Validator lists it.

How to read the Sitemap URL Extractor results

Entries in file counts every url (or sitemap) element read; Listed is what is left after duplicates are removed and the filter applied.

A sitemap index yields child sitemap URLs, marked "child sitemaps" in the summary. They are files to extract next, not pages.

Newest and oldest lastmod show the range of dates the file claims. A range of a single day across thousands of URLs usually means the generator stamps the build time, not real changes.

A warning that the file has protocol errors means some entries may be missing or malformed; the URLs listed are the ones the parser could read.

When to use Sitemap URL Extractor

  • Build the list of old URLs for a migration redirect map, then filter it by section.
  • Feed the URLs of one section to a crawler, an accessibility checker or a load-test script.
  • Compare what the sitemap says was updated recently with what the team actually changed.
  • Count how many pages each section of a site has, by filtering for each directory in turn.

Troubleshooting

  • "No sitemap entries were found" or a format error: the URL returned an HTML page, a feed or an empty file. Check it with the XML Sitemap Validator, which explains what it received.
  • Only child sitemap URLs appear: the file is a sitemap index. Extract each child sitemap in turn.
  • The list stops short on a large site: a fetched sitemap is cut at 512 KiB. Paste the file (up to 2 MB) or extract each child sitemap separately.
  • The filter returns nothing: the match is case-sensitive and compares the whole URL, including https:// and the host.

Frequently asked questions about Sitemap URL Extractor

What does it do with a sitemap index?

It lists the child sitemaps the index points to and says so: those URLs are sitemaps, not pages. Run the extractor on each child sitemap to list its page URLs; one run reads one file.

How many URLs can it extract?

A fetched sitemap is read up to 512 KiB, which is typically 3,000 to 5,000 URLs; a pasted file can be up to 2 MB. The text list and its download hold every URL found; the on-page table shows the first 2,000.

How are URLs without a lastmod sorted?

When you sort by newest or oldest lastmod, entries with a valid date come first in date order and entries without one (or with an invalid date) follow in sitemap order. Alphabetical order compares the full URL.

Is the filter a regular expression?

No — it is a plain, case-sensitive "contains" test on the full URL, so /blog/ keeps https://www.example.com/blog/post and drops https://www.example.com/Blog/post. Leave it empty to list every URL.

Does the extractor check that the URLs work?

No. It reads the sitemap only and requests none of the listed pages. Problems in the file itself — bad dates, wrong host, unescaped characters — are counted in a warning; the XML Sitemap Validator explains each one.

Technical notes

The file is read with the same single-pass sitemaps.org 0.9 parser as the XML Sitemap Validator: loc, lastmod, changefreq, priority and xhtml:link alternates are taken from each url (or sitemap) element, entity references are decoded, and CDATA sections are honoured.

Sorting by date uses the W3C Datetime value of lastmod converted to UTC, so 2026-10-08T23:00:00-05:00 counts as later than 2026-10-09; entries whose lastmod is missing or invalid keep their sitemap order after the dated ones.

Limitations and methodology

One sitemap per run: child sitemaps of an index are listed but not fetched, and gzip files cannot be decompressed here.

Fetched files are read up to 512 KiB and pasted ones up to 2 MB; a full 50,000-URL sitemap may exceed both.

It lists what the file declares and requests none of the URLs, so it cannot say whether they answer, redirect or are indexed.

Security and privacy

Filtering, de-duplicating and sorting happen in your browser, on a pasted sitemap or on the copy the Mutqan server fetched for you. The server sees only the sitemap URL you entered and keeps neither the URL nor the file.

The list is built in your browser. Downloading it as TXT or CSV goes through the site's download step (a free account for visitors who are not signed in), and the file is never uploaded.

References

  • sitemaps.org - Protocolsitemaps.orgThe Sitemap protocol 0.9: the urlset and sitemapindex formats, loc, lastmod, changefreq and priority, the 50,000-URL and 50 MB limits, entity escaping, the location rules and cross-submission through robots.txt.
  • Build and Submit a SitemapGoogle Search CentralHow Google reads sitemaps: the supported formats and size limits, absolute URLs, lastmod used only when consistently accurate, and changefreq and priority ignored.