XML Sitemap Generator
Paste your page URLs and get a valid sitemap.xml in seconds — with optional lastmod, changefreq and priority. It follows the sitemaps.org protocol, runs entirely in your browser, and needs no signup. Copy it or download it, ready for Google Search Console.
How it works
A sitemap is a plain XML file that lists the pages you want search engines to know about. This generator serialises your URL list exactly as the sitemaps.org XML Sitemap protocol v0.9 specifies — no crawling, no estimation, no data leaving your device. The build runs in five deterministic steps:
- Parse & clean. Your input is split on new lines and trimmed. Blank lines are dropped; each remaining line must be an absolute
http://orhttps://URL of at most 2,048 characters (the protocol's<loc>limit). Exact duplicates are removed and reported so no page appears twice. - Escape XML entities. Each URL is passed through the five entity escapes the protocol mandates —
&→&, plus the escapes for',",>and<. The ampersand is escaped first so nothing is double-escaped. - Assemble each entry. Every URL becomes a
<url>block with a required<loc>. When enabled, a<lastmod>is added in W3C DatetimeYYYY-MM-DDform, an optional<changefreq>from the enum (always/hourly/daily/weekly/monthly/yearly/never), and a<priority>clamped to the 0.0–1.0 range and formatted to one decimal. - Wrap the document. The entries are enclosed in a
<urlset>element carrying the sitemaps.org 0.9 namespace, prefixed with the<?xml?>declaration. - Enforce the limits. The file is capped at 50,000 URLs and 50 MB uncompressed. If your list is bigger, it is chunked into
sitemap-1.xml,sitemap-2.xml, … and asitemap_index.xmlis generated that references each child file — the exact split-and-index remedy both sitemaps.org and Google document.
One note on the optional fields: Google Search Central states that Google ignores <priority> and <changefreq>, and uses <lastmod>only when it is consistently accurate. They are still valid protocol elements — other crawlers may use them — so the tool lets you include or omit each one. Given the same URL list and options, the output is byte-for-byte identical every time (aside from a "today" date), which is what makes it safe to commit to a repository or diff between builds.
Worked examples
Frequently asked questions
Sources & references
- sitemaps.org — XML Sitemap protocol v0.9
- Google Search Central — Build and submit a sitemap
- W3C — Date and Time Formats (ISO 8601 profile)
The schema, limits, and formatting rules used here were last cross-checked against these sources on 2026-07-03. Need to tell crawlers where the file lives? Add a Sitemap: line with the robots.txt generator.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Found a bug, edge case, or want to suggest an improvement?
Email me at [email protected] — most fixes ship within 24 hours.