Sitemap XML Generator
Create a valid XML sitemap from a list of URLs or a site crawl — with per-URL lastmod, changefreq and priority, live limit checks (50,000 URLs / 50 MB), automatic sitemap-index splitting and ZIP download. 100% in your browser.
Paste your URLs (one per line, or comma/space separated) or crawl a site the browser is allowed to read.
Set global defaults, override lastmod, changefreq and priority per URL,
and watch the finished sitemap.xml appear on the right — validated against the limits that
actually get sitemaps rejected. Lists over 50,000 URLs split automatically into multiple files plus a
sitemap index, ready to download as a ZIP.
Your URLs
One URL per line (commas and spaces work too). Lines starting with # are ignored.
Bare domains (example.com/page) become https:// URLs; other relative
paths resolve against the base URL below.
Global settings
Applied to every URL unless a per-URL override below takes precedence.
Per-URL overrides
Leave a cell empty to use the global setting. Shown for up to 500 URLs.
Your sitemap
What is an XML sitemap?
An XML sitemap is a file — usually at https://your-site.com/sitemap.xml — that
lists the URLs you want search engines to know about. It is a hint, not a command: submitting a sitemap
does not guarantee any page gets indexed, and pages that are crawlable through normal links can be
indexed without being in a sitemap.
Sitemaps matter most in three situations: new or orphaned pages that have few or no internal links yet, large sites where crawling everything on every visit is expensive, and content that is hard to discover — PDFs, video, pages behind search or pagination. For a small site with good internal linking, a sitemap is still cheap insurance and takes two minutes to generate.
URL count and file-size limits
Search engines impose hard limits on a single sitemap file. Exceed them and the file is rejected or only partially read — which is exactly what the checker on this page watches as you type.
| Limit | Value | What to do when you exceed it |
|---|---|---|
| URLs per sitemap file | 50,000 (Google, Bing) | Split into multiple files and reference them from a sitemap index — this tool does that automatically when your list passes 50,000. |
| File size per sitemap | 50 MB uncompressed (Google) | Split into multiple files. A typical URL entry is 150–250 bytes, so the URL count limit usually bites first. |
| URL length | 2,048 characters (Google) | Shorten or redirect. Long URLs are usually generated query strings — consider stripping them (option above) instead of listing thousands of near-identical pages. |
| Sitemaps per index | 50,000 (Google) | Rarely a problem. If you ever hit it, nest a sitemap index inside a sitemap index. |
⚠️ What engines actually do with lastmod, changefreq and priority
-
lastmod— useful, keep it honest. Google uses it as a hint for when to re-crawl. Put the date the page content actually changed — not the date you generated the file. A sitemap where every page claims it changed today teaches the crawler to ignore the field. -
changefreq— mostly ignored. Google documents that it ignores this value; Bing uses it lightly. Include it if your CMS exports it, don’t stress about it. -
priority— a weak, relative hint. It only compares pages within your own site (your 1.0 is not compared to another site’s 0.3). Google treats it as a minor signal. Use it to mark your money pages if you like; omitting it is perfectly valid.
All three elements are optional. A sitemap with nothing but <loc> entries is
valid and will be processed.
How to submit your sitemap
After you download the file, upload it to your site root as sitemap.xml (or keep the
numbered names when splitting), then register it:
- Google Search Console — Sitemaps → add
/sitemap.xml(or your index URL). Google shows processing status and any validation errors within a day or two. - Bing Webmaster Tools — Sitemaps → add the same URL. You can also submit your sitemap to Google from Bing and it will be passed on.
- robots.txt — add a
Sitemap: https://your-site.com/sitemap.xmlline so crawlers find it even without a console submission. The robots.txt Generator on this site builds that file for you.
When you split, submit the sitemap index (sitemap-index.xml), not the
individual files — the index points the crawler at every part, and you only maintain one
submission.