Sitemap Generator
Paste a list of URLs, get back a valid sitemap.xml with optional change frequency, priority, and last-modified date.
sitemap.xml
How it works
Your input is split on newlines, trimmed, and each line is validated by actually
constructing a URL object from it; only lines that parse and use
http: or https: make it in, and the tool tells you how many lines
it skipped rather than silently eating them. Every accepted URL is run through an XML
escaper covering all five special characters (&, <,
>, ", '), which matters more than it sounds:
a URL with ?page=2&sort=asc in a sitemap without escaping is invalid XML
and some parsers will reject the whole file. Each entry gets a <loc>,
optionally a <lastmod> stamped with today's date in
YYYY-MM-DD form, and optionally the changefreq and priority you picked, all
wrapped in a <urlset> with the sitemaps.org 0.9 namespace and an XML
declaration up top.
Here's the part most sitemap tools won't tell you: Google has publicly said it ignores
<changefreq> and <priority> entirely. They exist in
the spec, this tool supports them, but they don't do anything for Google. The one optional
field that does matter is <lastmod>, and only if it's truthful. That
cuts both ways: if you regenerate your sitemap weekly and every URL gets stamped with the
generation date, Google learns your lastmod is noise and starts ignoring it. Include it
when the dates mean something, skip it when they don't. Also keep the hard limits in mind:
50,000 URLs and 50 MB uncompressed per sitemap file before you need an index file.
Generation, validation, and the download all run in this page's JavaScript. The XML is built as a string in memory and handed to you as a Blob; your URL list is never uploaded, which you can verify by watching the Network tab while you generate.
Common questions
Do I need changefreq and priority?
No, both are optional hints, and Google has said for years it largely ignores priority and treats changefreq loosely at best. Include them if another crawler you care about uses them, otherwise a plain URL list with lastmod is perfectly valid.
What counts as a valid URL here?
Any line that parses as a full http:// or https:// URL. Relative paths or lines missing the protocol are skipped and called out in the result message so you know what got left out.
Is there a limit to how many URLs I can add?
The sitemap protocol caps a single file at 50,000 URLs, this tool doesn't enforce that limit itself, but if you're near it, consider splitting into multiple sitemap files with a sitemap index.