Tools

XML sitemap generator

Paste a list of URLs and get a sitemaps.org-compliant sitemap.xml, split into a sitemap index past 50,000 URLs, with optional hreflang.

Runs in your browserSEO & GEO1.7K
Free

Input

0 B

Result

The result will appear here.

A static site, a documentation export or a crawl from Screaming Frog leaves you with a list of URLs and no sitemap. Paste the list, one URL per line, and this produces sitemap.xml exactly as the sitemaps.org protocol defines it: absolute, percent-encoded and entity-escaped URLs, optional lastmod, changefreq and priority per line, and hreflang alternates for multilingual sites. Past 50,000 URLs, or 50 MB uncompressed, it splits the output into numbered sitemaps plus the sitemap index that points to them. The same rules are implemented for Node.js servers by sitemap.js (ekalinin/sitemap.js, MIT), which is what to use if your sitemap has to be regenerated on every deploy.

How it works

  • Each line is a URL, optionally followed by fields separated by |: a W3C date for lastmod, a word such as weekly for changefreq, a number from 0.0 to 1.0 for priority, and lang=url pairs for alternates.
  • Ampersands and quotes in URLs become & and ', non-ASCII paths are percent-encoded and international domain names converted to punycode, which is what the protocol requires.
  • Duplicate URLs are dropped, lines that are not absolute http(s) URLs are skipped and counted, and URLs on more than one host are flagged, because a sitemap may only list URLs on its own host.
  • When the output is split, every block is a complete file whose name is in a comment just after the XML declaration, and the index lists each file with the newest lastmod in it.

Where your data goes

Nowhere. This tool runs entirely in your browser: the text you paste is processed by the page and is never transmitted to a server or written to a log.

This tool is free and needs no account. Its results exist only in your open page and are not saved anywhere.

What it costs

This tool is free, with no sign-in and no points.

Common questions

Do changefreq and priority matter?
Not to Google, which documents that it ignores both. It does use lastmod, but only if it is consistently accurate, so fill it in from real modification dates or leave it out. Bing and some other crawlers may still read changefreq and priority, which is why the tool keeps them optional.
How do I add hreflang alternates correctly?
Every language version needs its own line, and each of those lines should list the complete set of alternates, including itself — Google ignores one-way annotations. Add x-default for the version to show users whose language has no match. The sample input shows the pattern for an English and a Chinese page.
How do search engines find the sitemap?
Submit it in Google Search Console and Bing Webmaster Tools, and add a Sitemap: line with its full URL to robots.txt so every other crawler finds it too. When the output is split, submit only the index file; the engines follow it to the rest.
Where should I host the split files?
Next to the index, at the location you enter in the sitemap location option; by default the first URL's origin is used. A sitemap may list only URLs on the host it is served from, so put the files on that host, or verify both hosts in Search Console before submitting the index.

The open-source behind it

This tool is a self-contained implementation. ekalinin/sitemap.js (MIT) does the same job as a library — if you need this behaviour inside your own program, start there rather than calling a web page.

ekalinin/sitemap.js

Also known as

  • sitemap generator
  • xml sitemap generator
  • sitemap.xml
  • sitemap index generator
  • hreflang sitemap
  • create sitemap online