A sitemap generator cheat sheet is a compact reference covering every rule, limit, and format that controls how an XML sitemap.xml file is produced. The XML Sitemap Generator at Lizely converts a reviewed list of page URLs into a standards-based sitemap.xml entirely in your browser, with no crawling and no upload of URLs or output. The generator accepts absolute HTTP or HTTPS URLs, one per line, normalizes each location with the WHATWG URL parser, deduplicates in first-seen order, and writes UTF-8 XML using the official sitemaps.org 0.9 namespace. It enforces a hard ceiling of 10,000 unique URLs and 10,485,760 UTF-8 bytes per file — a deliberate safety bound well below the protocol's 50,000-URL and 50 MiB maxima — and it fails the whole generation rather than silently truncating when those limits are crossed. Every line rule, host rule, optional metadata value, and byte budget has a specific behavior described below, so a reviewed list, fields, and a download can be produced in one pass.

Quick Reference Card
| Aspect | Value |
|---|---|
| Input scheme | HTTP or HTTPS only |
| Line format | One absolute URL per line |
| Hosts per file | One serialized host (scheme excluded) |
| Encoding | UTF-8 XML with official 0.9 namespace |
| URL cap | 10,000 unique URLs, all-or-nothing |
| File size cap | 10,485,760 UTF-8 bytes, exact limit accepted |
| Max location length | 2,047 characters after normalization |
| Processing location | Current browser tab, no upload |
| Optional fields | lastmod, changefreq, priority (shared value) |
URL Input Format and What Gets Rejected
Each nonblank line in the editor must be a single absolute HTTP or HTTPS page URL. Lines are split on LF, CRLF, or CR, and whitespace-only lines are ignored. Every accepted line is run through the WHATWG browser URL parser, which lowercases the host, drops default ports, inserts the root slash where required, and percent-encodes non-ASCII characters while preserving existing valid escapes.
- Accepted: https://example.com/, http://example.com:8443/blog/post-1, mixed-case hosts, paths with percent escapes, query strings.
- Rejected: bare domains (example.com), relative paths (/about), FTP URLs, raw control characters, malformed percent escapes, embedded credentials (https://user:[email protected]/), and URL fragments (https://example.com/page#section).
- Treated as an error, not silently trimmed: leading or trailing whitespace on a nonblank line.
Fragments are removed because they are never sent to the server as part of an HTTP request and would otherwise create duplicate entries for one fetched resource. Credentials are removed because usernames and passwords must never appear in a public sitemap file.
How to Generate sitemap.xml With the Tool
- Open the XML Sitemap Generator and paste your reviewed list of page URLs into the editor, exactly one absolute HTTP or HTTPS URL per line.
- Confirm that every URL belongs to a single host, including any non-default port, because each generated file is restricted to one serialized host.
- Leave the optional fields blank if you want loc-only XML with no lastmod, changefreq, or priority tags, or fill them in with a single shared value that is truthful for every entry.
- Click Generate and review the displayed XML and the counts shown for unique URLs, duplicates ignored, and rejected lines.
- Click Download to save sitemap.xml locally, then upload the file to the root of the represented host before referencing it in robots.txt or a Search Console property.
Editing any URL or option immediately revokes the previous download and clears the cached XML. Generating again revokes the old download before validation runs, so there is no chance of publishing stale output.
Optional Metadata Reference
| Field | Accepted values | Behavior when blank |
|---|---|---|
| lastmod | Gregorian YYYY-MM-DD, or full date-time with seconds and Z or a valid UTC offset | Tag omitted entirely |
| changefreq | always, hourly, daily, weekly, monthly, yearly, never | Tag omitted entirely |
| priority | Decimal from 0.0 through 1.0 | Tag omitted entirely |
Any invalid value in any optional field fails the entire generation rather than being silently corrected. lastmod should only be set when one shared modification date is truthful for every entry; changefreq and priority are protocol hints, not crawl commands or ranking guarantees.
Hard Limits and Capacity
The sitemaps.org protocol permits up to 50,000 URLs and 52,428,800 uncompressed bytes per file. This browser tool deliberately uses smaller budgets to bound the preview, Blob, and memory footprint in the current tab:
- Unique URLs: 10,000. The 10,000th unique URL is accepted and the next unique URL fails the generation. Duplicate lines do not consume output slots.
- Input size: 5,000,000 UTF-16 code units across the entire paste.
- Output size: 10,485,760 UTF-8 bytes, measured after URL serialization, XML escaping, optional tags, and indentation. The exact boundary is accepted; one additional byte is rejected.
- Per-location length: 2,047 characters after normalization, one below the protocol's 2,048-character cap.
Every limit is all-or-nothing. There is no shortened XML, no ellipsis, no capped preview, and no partial download — invalid lines and over-limit lines produce a clean failure with an explanation instead of a silently broken file. The protocol's own maxima are documented at Google Search Central — Build and submit a sitemap.
Single-Host Rule and Deduplication
One generated file is restricted to one serialized host, including any non-default port, which mirrors the Sitemap protocol's single-host rule. HTTP and HTTPS URLs for the same host are accepted in the same file because the scheme is not part of the host comparison. A non-default port, however, is part of the serialized host, so mixing example.com with example.com:8443 fails. Different hosts require separate files and separate submissions.
Deduplication runs after URL serialization. An uppercase host and its lowercase form identify the same URL, as do an explicit default port and its normalized form. The first occurrence determines output order, and every later occurrence increments the duplicate count without consuming a slot. The generator cannot verify where the sitemap will be hosted or whether cross-site submission permissions exist, so cross-host submissions remain the publisher's responsibility.
What the Generator Does Not Do
- It does not crawl the website, request any page, follow links, or discover new URLs on its own.
- It does not inspect canonical tags, read actual modification dates, discover redirects, verify HTTP status codes, or determine indexability.
- It does not submit the finished file to Google Search Central, Bing Webmaster Tools, or any other search engine.
- It does not write a robots.txt rule, generate a sitemap index, or emit image, video, news, or hreflang extensions.
- It does not gzip the output or produce a partial file when limits are crossed.
The generated file is only as accurate as the URLs and optional metadata supplied, so review for redirects, duplicates, blocked pages, private pages, and missing pages must happen before publication. A deeper validation walkthrough is available in the guide Build Validated sitemap.xml From a Reviewed URL List.
Troubleshooting Common Input Errors
When the generator reports rejected lines, the cause is almost always one of a small set of formatting issues that can be fixed in the source list before regenerating:
- "Trailing whitespace on line N." Open the source list in a plain-text editor and remove spaces or tabs at the ends of lines; the tool will not silently trim them.
- "Rejected: contains credentials." Strip any user:pass@ portion from the URL; authenticated URLs must never appear in a sitemap.
- "Rejected: contains fragment." Remove the #section portion, since fragments are not transmitted by HTTP and would create duplicate entries.
- "Rejected: bare domain." Replace example.com with https://example.com/; the generator requires an absolute URL with scheme and root path.
- "Mixed hosts or ports." Split the list into one file per serialized host, or convert non-default-port entries to the canonical host before pasting.
- "Over URL or byte limit." Trim the list to under 10,000 unique URLs, or split it into multiple sitemap files plus a sitemap index (which this tool does not produce, so index creation is a manual step).
Running the URL parser once is the fastest way to confirm the list is shaped correctly, because every accepted line is serialized, deduplicated, escaped, and measured against the byte cap before the download is offered. If the XML preview and the counts both look right, the resulting sitemap.xml is ready for upload to the root of the represented host.
If you're weighing options, Extract URLs From a Sitemap in Bulk: Limits and Counts covers this in detail.