XML Sitemap Generator
Paste one URL per line and get a protocol-valid sitemap.xml. Relative paths are resolved against a base URL, duplicates are dropped, and lastmod, changefreq and priority are added only if you ask for them.
Sitemap generator
Input is split on newlines and commas, so a pasted list or a single-column CSV both work. Lines starting with # are ignored as comments, relative paths are joined to the base URL, anything that will not parse as a URL is skipped and counted, and every <loc> is XML-escaped.
How to use it
- Paste your URLs, one per line — or drop a
.txtexport from a crawler. - If the list holds paths rather than full URLs, fill in the base URL.
- Add
lastmod,changefreqorpriorityonly if you have a real value for them. - Download
sitemap.xmland put it at your site root, then reference it fromrobots.txt.
Which optional fields are worth adding
lastmod is the one that earns its place: it tells a crawler which pages changed, and it is the field most likely to affect recrawl behaviour — but only if it is honest. A build that stamps today's date on every page every time teaches crawlers to ignore the field entirely, so use today's date for a genuinely fresh set of pages and omit it otherwise.
changefreq is a hint that is largely ignored, and priority has been publicly ignored by Google for years. Both are legal and harmless; neither is worth much effort. Omitting them keeps the file smaller and is the default here.
Limits and splitting
A single sitemap may hold 50,000 URLs and 50 MB uncompressed. Past either, split the list into several files and publish a <sitemapindex> that points at them — switch Type to sitemapindex and paste the URLs of the sitemap files themselves. The status line warns you when a generated file crosses the entry limit.
One host per sitemap: the protocol scopes a sitemap to the host that serves it, and URLs on other hosts are discarded. The validator flags a mixed-host file.
After you generate it
- Serve it at a stable path —
/sitemap.xmlis the convention. - Add
Sitemap: https://example.com/sitemap.xmltorobots.txt. - Submit it once in Search Console; after that, crawlers pick up changes on their own.
- Gzipping is allowed (
sitemap.xml.gz), but the 50 MB limit applies to the uncompressed size.
FAQ
Can it crawl my site to find the URLs?
No. A page in your browser cannot crawl another origin, and nothing here talks to a server. Get the list from your build, your CMS, or a desktop crawler, then paste it.
What happens to relative paths?
They are joined to the base URL you provide — /contact with base https://example.com becomes https://example.com/contact. Without a base URL, relative lines are skipped and counted in the status line.
Should I include a lastmod for every URL?
Only if it is accurate. A per-page modification date is a useful signal; the same date stamped on every page on every build is noise, and crawlers learn to discount it.
What about image, video or hreflang extensions?
This generator writes the core protocol only. Add extension elements by hand afterwards, then check the file with the validator, which leaves known extension namespaces alone.
Is my URL list uploaded?
No. The file is built in your browser and downloaded from memory.
Related tools
- Sitemap Validator — check the generated file against the protocol
- CSV to XML — for lists with more columns than just a URL
- XML Formatter — reformat a sitemap you edited by hand
- XML Validator — plain well-formedness checking
- RSS to JSON — the other XML file crawlers read
Privacy
100% client-side. The sitemap is assembled in the page from the text you paste. See the privacy policy.