Free Sitemap URL Extractor: Extract URLs From Sitemap Files

Pull every page URL out of an XML sitemap, sitemap index or .xml.gz file, then filter it and export it to CSV or TXT. Free, no sign-up.

Updated

Pasted text and files stay in your browser. Sitemap URLs you enter are fetched through our server and not stored.

How to Extract URLs From a Sitemap

  1. Load the sitemap

    Enter the sitemap’s address and press Fetch, paste the XML into the box, or drop one or more .xml, .xml.gz or .txt files onto the drop area. A bare domain works too: the tool checks robots.txt and the usual sitemap addresses for you.

  2. Follow the sitemap index

    If the file is a sitemap index, the tool lists every child sitemap it points to. Press “Fetch all child sitemaps” to read up to 50 of them in one go, or drop the child files you saved yourself.

  3. Filter the list

    Type a path such as /blog/ to keep matching URLs, or a regular expression between slashes such as /\/(products|collections)\//. Add an exclude pattern or a lastmod date range, and keep “Remove duplicates” ticked.

  4. Check the counts

    The summary shows how many URLs each sitemap holds and how they split across top-level paths, so you can see at a glance which sections of the site are listed.

  5. Export or open

    Copy the URLs, download them as TXT, CSV or a bookmarks.html file, or open them in batches of 5, 10 or 20 tabs to review the pages one by one.

How the Sitemap URL Extractor Works

The tool reads the sitemap the same way a search engine does: it looks for the root element, then walks every entry inside it. Pasted text and dropped files are processed entirely in your browser. Compressed .xml.gz files are unpacked with the browser’s built-in DecompressionStream, so nothing is uploaded to do that either.

When you enter a sitemap URL, your browser can’t download it directly, because most sites don’t allow other websites to read their files (a browser rule called CORS). So that one request goes through our own server, which fetches the file and passes the text straight back. We don’t store the sitemap, the URL you entered or the results. If you’d rather nothing touched a server at all, open the sitemap in a new tab, save it with Ctrl+S or Cmd+S and drop the file here.

Well-formed XML is parsed with the browser’s own XML parser, matching elements by their local name so that prefixed tags such as sm:loc work as well as plain loc. If the XML is broken, which happens with truncated downloads and hand-edited files, a lenient reader takes over, recovers every URL it can and tells you what was wrong. Files of 50MB and 50,000 URLs are processed in chunks so the page stays responsive.

InputWhat the tool reads
<urlset> sitemaploc, lastmod, changefreq, priority, image:image locations, xhtml:link hreflang alternates, news:news title and date
<sitemapindex>Every child sitemap loc and lastmod, with an option to fetch the children
.xml.gz fileDecompressed in the browser, then read as above
Text sitemapOne absolute URL per line; blank lines and # comments are skipped
robots.txtEvery Sitemap: line, listed as sitemaps to fetch
RSS 2.0 or Atom feedEach item or entry link, with pubDate or updated as the date

What Is an XML Sitemap?

An XML sitemap is a file that lists the pages of a website a search engine should know about. The format is defined by the Sitemaps protocol at sitemaps.org, which Google, Bing and other search engines support. It doesn’t decide whether a page ranks or even gets indexed. It’s a hint about which URLs exist and when they last changed.

Every sitemap has a <urlset> root. Inside it, each page gets a <url> entry with one required child, <loc>, holding the full address including https://. The protocol limits a loc to 2,048 characters and requires special characters such as & to be escaped as &amp;. Three optional children add detail: <lastmod>, <changefreq> and <priority>.

Extensions add more. Image sitemaps nest image:image entries inside a URL. International sites list language versions with xhtml:link rel="alternate" hreflang elements. News sitemaps add a news:news block with the publication name, date and headline. This tool reads all three, although only the page URLs go into the exported list.

TagRequired?Format and rules
<loc>YesAbsolute URL starting with the protocol, under 2,048 characters, entity-escaped
<lastmod>NoW3C Datetime, e.g. 2026-09-24 or 2026-09-24T10:30:00+00:00
<changefreq>Noalways, hourly, daily, weekly, monthly, yearly or never. Google ignores it
<priority>No0.0 to 1.0, default 0.5, relative to other pages on the same site. Google ignores it
File limitsRule50,000 URLs and 50MB uncompressed per sitemap; gzip allowed; UTF-8 encoding

A sitemap can only list URLs at or below its own folder. A file at example.com/catalog/sitemap.xml may list example.com/catalog/ pages but not example.com/about/. That’s why most sitemaps live at the site root.

Where Do I Find a Website’s Sitemap?

Start with the root: most sites answer at /sitemap.xml. If that returns a 404, open /robots.txt. The Sitemaps protocol lets a site declare its sitemaps there with a line such as “Sitemap: https://example.com/sitemap_index.xml”, and a site can list several. The tool does both checks when you enter a bare domain.

Content management systems each have a default. The table below lists the ones we checked against each platform’s own documentation. Plugins and apps can change these addresses, so treat robots.txt as the final word.

PlatformDefault sitemap addressNotes
WordPress 5.5 and later (core)/wp-sitemap.xmlAn index of sitemaps for posts, pages, taxonomies and authors; up to 2,000 URLs per sitemap by default
WordPress with Yoast SEO/sitemap_index.xml/sitemap.xml redirects to it; replaces the core sitemap
Shopify/sitemap.xmlAn index linking separate sitemaps for products, collections, blogs and pages; other languages are added automatically
Wix/sitemap.xmlA sitemap index, updated automatically when you edit the site
Squarespace/sitemap.xmlGenerated automatically; not available on trial sites, and hidden or password-protected pages are left out
Anything else/robots.txtLook for Sitemap: lines, or check the Sitemaps report in Google Search Console if you own the site

How Do Sitemap Index Files Work?

A sitemap index is a sitemap of sitemaps. Its root is <sitemapindex>, and each <sitemap> child holds the loc of one sitemap file plus an optional lastmod. Large sites need one because of the 50,000-URL and 50MB limit per file, and many CMSs use one anyway to split posts, pages and products into separate files.

Google’s documentation allows up to 50,000 loc entries in one index file and up to 500 index files per site in Search Console. The sitemaps an index lists must be on the same site and in the same directory as the index, or lower.

When you paste or fetch an index, the tool shows the child sitemaps instead of pretending the index has no URLs. In URL mode, “Fetch all child sitemaps” reads up to 50 of them, three at a time, and merges the results. Each URL keeps a source column naming the sitemap it came from, so after the merge you can still see that /products/red-shoe came from sitemap_products_1.xml.

Can You Trust the Lastmod Date?

Sometimes. Google says it uses lastmod when the value is consistently and verifiably accurate, and that it ignores changefreq and priority completely. A “significant” change means the main content, structured data or links changed. Updating a copyright year in the footer doesn’t count.

In practice, many sitemaps set every lastmod to the moment the file was generated, or to the date a plugin was last updated. When you filter by date, watch for this pattern: if a date range from yesterday to today keeps almost every URL, the dates are generation times, not edit times. Filtering then tells you nothing about which pages changed.

When lastmod is honest, it’s one of the most useful fields in the file. Filter to the last 30 days to see what a competitor published or updated this month, or to the last week to check that your own edits reached the sitemap. URLs with no lastmod are dropped from a date filter unless you tick “Keep URLs without lastmod”.

Sitemap URL Extractor Use Cases for SEO Audits

The sitemap is the list of pages a site says matter. Comparing that claim with reality is the start of most technical SEO audits. These are the jobs people use a sitemap URL extractor for most often.

  • Compare the sitemap with a crawl. Export to TXT, crawl the list, and look for URLs that redirect, return 404 or carry a noindex tag. Google recommends listing only the canonical URLs you want in search results.
  • Find orphan pages. URLs that are in the sitemap but not reachable through internal links show up when you compare this list with a crawl of the site’s links.
  • Check a migration. Extract the old sitemap before launch, then run every old URL through a redirect checker afterwards to confirm each one lands on the right new page.
  • Spot mistakes in the file. Filter for http://, for staging hostnames, for ?utm= parameters or for /page/2/ archives. None of these usually belong in a sitemap.
  • Size up a site. When you extract URLs from sitemap files, the per-path counts show how a site is split, for example 4,812 URLs under /products/, 311 under /blog/ and 40 under /pages/, before you plan a content audit.
  • Audit hreflang. The CSV notes nothing about alternates, but the tool reads them, so you can see which pages list language versions in the result details.
  • Review pages by hand. Open the filtered list 10 or 20 tabs at a time to check titles, layouts or broken images across a section.

How to Convert a Sitemap to CSV

Load the sitemap, apply any filters, then press “Download CSV”. The file has one row per URL and five columns: loc, lastmod, changefreq, priority and source. Empty fields stay empty rather than being filled with defaults, so you can tell a missing priority from a stated 0.5.

The CSV is UTF-8 with a header row and standard quoting, so it opens directly in Excel, Google Sheets, Numbers or LibreOffice. A value that starts with =, +, - or @ is prefixed with an apostrophe so a spreadsheet can’t run it as a formula. Sort by lastmod to find stale pages, or use a pivot table on the source column to count URLs per child sitemap.

If you only need the addresses, TXT is lighter: one URL per line, ready for a crawler’s list mode, a redirect checker or our bulk URL opener. The bookmarks.html export imports into any browser as a folder of bookmarks, grouped by source sitemap.

Other Ways to Extract URLs From a Sitemap

There’s no single best method. It depends on how often you do it and whether you need the result inside another tool.

MethodHowVerdict
This pagePaste, drop or fetch; filter; export TXT, CSV or bookmarksFastest for one-off jobs; no install; follows indexes and .gz files
Screaming Frog SEO SpiderList mode, then Upload > Download XML SitemapBest when you also want to crawl each URL; free version limited to 500 URLs
Pythonrequests plus xml.etree, or the advertools sitemap_to_df functionBest for scheduled or repeated jobs; needs a Python setup
Command linecurl -s URL | grep -oE "<loc>[^<]+" | sed "s/<loc>//"Quick on Mac or Linux; breaks on CDATA, escaped & and image locs; add gunzip for .gz
Browser view sourceOpen the sitemap, press Ctrl+U or Cmd+Option+U, copyFine for a handful of URLs; no filtering or export
BelayTabOpen a batch of URLs, then save the open tabs as a named sessionFor reviewing pages over several days; it doesn’t read sitemaps itself

Limits and Troubleshooting

  • “Fetching by URL isn’t available yet”: the fetch service isn’t reachable. Open the sitemap in a new tab, save it with Ctrl+S or Cmd+S and drop the saved file here.
  • “Couldn’t fetch” with a 403 or 503: the site blocks automated requests, often through a bot-protection service. Saving the file from your own browser usually works.
  • “This is a web page, not a sitemap”: the address returned HTML. It may be an HTML site map meant for visitors, or a login page. Use the URL extractor to pull links from HTML.
  • A sitemap looks like a styled web page in the browser: an XSL stylesheet is formatting it. View the source to see and copy the raw XML.
  • Warnings about unclosed entries: the file was cut off or edited by hand. Recovered URLs are included, but check the source file.
  • Only 500 URLs are listed on the page: the preview is capped to keep the page fast. Every matching URL is included in copies, downloads and batches.
  • Only the first tab opened: your browser blocked the rest as pop-ups. Allow pop-ups for belaytab.com and press Open again.

“Fetch all child sitemaps” stops after 50 files per run, so a very large site may need several runs or its child sitemaps dropped as files. The tool never follows the page URLs themselves, only sitemap files.

Frequently Asked Questions

How do I extract all URLs from a sitemap?

Paste the sitemap XML, drop the file or enter its URL in the sitemap URL extractor, then copy or download the list. If it’s a sitemap index, fetch the child sitemaps too, because the index itself only lists other sitemaps, not pages.

How do I convert a sitemap to CSV?

Load the sitemap in the tool and press Download CSV. You get one row per URL with loc, lastmod, changefreq, priority and source columns, ready for Excel or Google Sheets.

Can I extract URLs from a sitemap.xml.gz file?

Yes. Drop the .xml.gz file and the tool decompresses it in your browser before reading it. Compressed sitemaps fetched by URL are unpacked the same way.

What’s the difference between a sitemap and a sitemap index?

A sitemap lists page URLs inside a <urlset> element. A sitemap index lists other sitemap files inside a <sitemapindex> element, which lets large sites split their pages across many files.

How many URLs can a sitemap contain?

Up to 50,000 URLs, and no more than 50MB uncompressed. Sites with more pages split them across several sitemaps and list those in a sitemap index.

How do I find a website’s sitemap?

Try the domain followed by /sitemap.xml, then check /robots.txt for Sitemap: lines. WordPress uses /wp-sitemap.xml by default and Yoast SEO uses /sitemap_index.xml.

Does Google use changefreq and priority?

No. Google says it ignores both. It uses lastmod only when the dates are consistently accurate.

Is the sitemap URL extractor private?

Pasted text and dropped files never leave your browser. Sitemap URLs you enter are fetched through our server so your browser can read them, and neither the URL nor the file is stored.

Why does the tool say my sitemap is malformed?

The XML has an error, such as an unescaped & in a URL, a missing closing tag or a download that was cut off. The tool still recovers every URL it can find and lists what went wrong so you can fix the source.

How can I open the URLs from a sitemap in batches?

Pick a batch size and press Open; each press opens the next set of tabs. To come back to a batch later, a session manager such as BelayTab can save the open tabs as a named session.

Related

Keep Your Tabs Safe, Too

BelayTab saves and snapshots your tabs automatically, in every browser. Free.