Sitemap.xml Generator

Turn a list of URLs into a valid XML sitemap: one address per line, optionally with a lastmod date, previewed as it builds.

The sitemap is generated locally in your browser. Your URL list never leaves your device.

Add " | 2026-09-15" after a URL to set that entry's lastmod date. Blank lines and lines starting with # are ignored.

A single sitemap holds at most 50,000 URLs (10 MB uncompressed) — larger sites split into several sitemaps plus a sitemap index, which this tool does not build.

sitemap.xml preview
—

How It Works

Each non-empty line of your list becomes one <url> element inside a sitemaps 0.9 <urlset>. The first part of the line is the <loc>, and an optional | 2026-09-01 suffix after it becomes that entry's <lastmod>. changefreq and priority are applied as one global default — leave them on "omit" and the elements simply aren't written, which is what most SEO guides now recommend.

The urlset schema
A sitemap is a single XML document rooted at <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">. The only required child is <loc>: an absolute, URL-encoded address, with entities like & escaped to &amp; — this tool escapes them for you, so ?a=1&b=2 lands in the file correctly. One sitemap may describe URLs from one host only.
lastmod is a W3C datetime, not a crawl request
The spec accepts W3C datetime values: a plain date 2026-09-25 is enough, 2026-09-25T14:30:00+02:00 or a Z suffix also work. Search engines use it to prune crawling on unchanged pages, and a lastmod that keeps jumping without content changing trains them to ignore it.
Why changefreq and priority stay quiet
Google openly states changefreq is not used for crawl scheduling and priority is a relative, host-internal hint with no ranking effect. Emitting them is legal, harmless and occasionally read by smaller crawlers — which is why this tool defaults both to omit and applies them globally when you choose values, rather than pretending they are knobs.

Frequently Asked Questions

Do dynamic pages need a new lastmod on every rebuild?

No — and doing that actively hurts. Google uses lastmod to decide what changed: if every entry carries yesterday's build date, the signal becomes noise and gets discounted. Update lastmod only when the page's content actually changed, or leave it out entirely and let the crawler decide.

Where does the file go, and how does robots.txt relate?

Serve it at https://yourdomain/sitemap.xml (any reachable URL works, but the root is conventional) and point to it from your robots.txt with a Sitemap: line — that single line is how most crawlers find sitemaps without being told. The robots.txt generator on this site writes that line for you.

How do I submit the sitemap to Google?

In Google Search Console: verify your property as a domain or URL-prefix, open the Sitemaps report, paste the full sitemap URL and press Submit, then use URL Inspection on a few pages to check they resolve. Bing and Yandex have the same flow in Bing Webmaster Tools, which can import the Search Console submission.

Do changefreq and priority improve rankings?

Not directly. Google has said for years that changefreq is ignored for ranking and mostly ignored for scheduling too (lastmod matters, the rest not so much), and priority is only a relative hint among your own URLs — 0.1 on a key page and 1.0 on a footer link sends confusing signals. Setting a conservative default for everything, as this tool does, is fine; obsessing over per-page values is not.

Is anything uploaded to a server?

No. The XML is assembled from your pasted list entirely in the browser — URL checks, entity escaping and formatting are plain client-side JavaScript. Your page inventory stays on your machine until you upload the file to your own host.