XML sitemap generator

Crawl your site or paste a URL list. Get a clean sitemap.xml with only indexable, canonical pages, split into 50,000-URL files with an index when it gets big.

  • Obeys robots.txt
  • Drops noindex, redirects & non-canonical URLs
  • No limit on pasted lists

Loading the generator…

What goes into a good sitemap

A sitemap is a list of the URLs you want search engines to crawl and index, not a list of every URL your server answers to. Google's sitemap documentation asks for the preferred, canonical version of each page, using full absolute URLs. So the generator checks each crawled page before it lets it in:

  • Status 200 only. Redirects and errors send crawlers on detours, and Search Console flags them.
  • Indexable only. A page with noindex in a meta tag or the X-Robots-Tag header contradicts its own sitemap entry.
  • Canonical only. If a page declares another URL as canonical, that other URL belongs in the sitemap instead.
  • Crawlable only. URLs your robots.txt disallows can't be fetched by Googlebot, so listing them only produces warnings.

The file itself follows the sitemaps.org 0.9 schema: UTF-8, entity-escaped URLs (an & in a query string becomes &), and at most 50,000 URLs or 50 MB uncompressed per file.

Three ways in, one output

Crawl

Best for small and medium sites without a sitemap plugin. Follows links from your homepage, up to 300 pages and 6 clicks deep.

Paste

Best for anything larger. Export URLs from your CMS, a database query, a Screaming Frog crawl or Search Console's page report, and paste them.

Upload

Drop a .txt, .csv or old .xml / .xml.gz sitemap. It is parsed in your browser, so a 40 MB file never leaves your computer.

Questions people ask

Is this XML sitemap generator free?
Yes. There is no account, no URL quota for pasted or uploaded lists, and no watermark in the file. The live crawler is capped at 300 pages per run to keep it fast and fair for everyone.
How many URLs can one sitemap hold?
The sitemaps.org protocol and Google's large-sitemap guide both set the limit at 50,000 URLs or 50 MB uncompressed per file, whichever comes first. Past that you split the list and point to the files from a sitemap index. SitemapForge does the split and writes the index for you.
Why is the crawler limited to 300 pages?
Crawling runs on our servers, so it is bounded by page count, link depth, time and bytes. For large sites the better source is your CMS, database or analytics export anyway: paste or upload that list and the generator handles any size, splitting at 50,000 URLs.
Which pages does the crawler leave out?
Anything Google should not index: URLs blocked by robots.txt, redirects, 4xx/5xx responses, pages with a noindex meta tag or X-Robots-Tag header, and pages whose rel=canonical points to a different URL. The table under the result shows every URL and the reason.
Should I include priority and changefreq?
You can, but Google has said it ignores both. They are off by default. An accurate lastmod is the only optional tag Google uses, and only when it is consistently right. See lastmod, priority and changefreq.
Where do I put the sitemap file?
Usually at the root, e.g. https://example.com/sitemap.xml. A sitemap can only list URLs at or below its own folder, so the root covers everything. Then add a Sitemap: line to robots.txt and submit it in Google Search Console and Bing Webmaster Tools.
Does it make image or hreflang sitemaps?
Tick "Add image entries" in crawl settings to include up to 20 images per page. For hreflang, video and news sitemaps use the dedicated generators on the hreflang, video and news pages.