XML Sitemap Generator
Paste or drop your URLs for a valid XML sitemap in seconds, with optional lastmod, changefreq, and priority. Over 50,000 URLs auto-split into files plus a sitemap index, zipped. In your browser.
- Free, no account
- No watermark
- No usage limit
About the XML Sitemap Generator
An XML sitemap is a plain list of your site's URLs, written in the format search engines read. This XML sitemap generator turns the URLs you paste into a valid sitemap.xml, wrapping each one in the exact tags the sitemaps.org protocol expects. Set an optional last-modified date, change frequency, and priority once, and they apply to every URL. Then copy the file or download it. Everything runs in your browser, so nothing you paste is uploaded.
Most paste-based tools quit on you at exactly the wrong moment. The protocol caps a single sitemap file at 50,000 URLs, and the free generators either chop your list off at that line without a word or tell you to go split it and hand-write the index yourself. That is the part that stings, because it lands hardest on the sites that need a complete sitemap most, the big ecommerce catalogs and publishers, the directories with tens of thousands of pages. Instead of truncating, this tool splits the list. Paste 200,000 URLs and it slices them into sitemap-1.xml, sitemap-2.xml, and onward, each one safely under the cap, then builds the master sitemap-index.xml that points at every piece and hands you the whole set as a single ZIP. You submit the index, Google follows it out to the rest.
You bring the URLs, and that is deliberate. Most generators online crawl your domain instead, you type an address and their server fetches page after page, until the free tier caps out at a few hundred pages, chokes on a JavaScript-rendered site, or drags in every junk parameter it finds. Here you decide exactly which URLs go in, whether you exported them from a CMS, a database query, or a spreadsheet column. Drop that file onto the box or paste it, and you have valid XML in about ten seconds.
How to use
- Add your URLs. Paste them one per line, click Load file, or drag a
.txt,.csv, or existing.xmlsitemap onto the box. Loading an old sitemap pulls its URLs back out, handy for re-splitting or refreshing one. Use the fullhttps://address, not a relative/path. Blank lines and exact duplicates are dropped for you. - Set a last-modified date (optional). Type a date like
2025-01-01, or click Use today. It becomes the<lastmod>on every URL. - Set change frequency and priority (optional). Both are hints the spec allows, and Google ignores them, so blank is a perfectly good answer.
- Grab the output. Under 50,000 URLs you get one
sitemap.xmlto copy or download. Over that, the tool splits automatically, you set the folder the files will live in, then click Download all (.zip). - Upload and submit. Put the file (or every file from the ZIP) where it is reachable at a real URL, add a
Sitemap:line to yourrobots.txt, and submit it in Google Search Console.
When your list goes past 50,000 URLs
A single sitemap file has two hard ceilings in the protocol: 50,000 URLs, and 50 MB uncompressed. Cross either and search engines reject or truncate the file. Plenty of sites never come close. But a large catalog blows through 50,000 without trying, and that is exactly when a paste box usually gives up.
The fix the protocol defines is a sitemap index. It is a small master file that does not list your pages at all, it lists your other sitemaps. Its structure mirrors a normal sitemap, only with <sitemapindex> wrapping <sitemap> entries instead of <urlset> wrapping <url> entries. You submit the one index file and the engine walks out to each child sitemap from there.
This tool does the whole thing. It fills each child file up to the cap in order, builds the index, and shows you the breakdown before you download, so you can see that 150,000 URLs became three files plus an index. The one thing it needs from you is the folder those files will live in, because the index has to reference each child by its full public address, like https://yourdomain.com/sitemap-1.xml. It pre-fills that from the domain of your first URL, and you can correct it if the sitemaps will sit in a subfolder. Get that address right and the index is valid the moment you upload.
Why bother, when a five-page brochure site never needs any of this? Because a sitemap mainly helps where search engines struggle to discover pages on their own. A brand-new site with few backlinks, a page buried five clicks from the homepage, or a catalog so large the crawler would take ages to comb it by hand. On a tidy little site Google finds everything through links anyway, so the sitemap changes almost nothing. It counts for far more on a large site, where a complete and correctly split sitemap can decide whether the crawler reaches your deep pages or misses them.
The character that quietly breaks a sitemap
XML reserves a few characters, and if one shows up raw inside a <loc> the whole file is invalid, and the ampersand causes most of it. Query strings are full of them, https://example.com/search?q=shoes&sort=price, and that bare & has to be written as & in the file. The same goes for <, >, ", and '. Miss one ampersand in one URL out of ten thousand and a search engine can reject the entire sitemap over that single character.
This generator escapes all of them for you, so paste the plain URL exactly as it appears in the address bar. If your URLs carry accented letters or non-Latin script, percent-encode them the way a browser would and paste that.
Where to put it and how to submit it
Building the file is half the job, the engine still has to find it. Do two things.
Add a Sitemap: line to the robots.txt at the root of your domain:
Sitemap: https://yourdomain.com/sitemap.xml
That line stands on its own, and every major engine reads it, so any crawler fetching your robots.txt now knows where the sitemap is. If you build robots.txt files too, our robots.txt generator adds this line for you.
Then submit it in Google Search Console. Open the Sitemaps report, enter the path (usually sitemap.xml, or sitemap-index.xml if you split), and submit. Google fetches it, reports how many URLs it found, and flags any parsing errors, which doubles as your validation check. Do the same in Bing Webmaster Tools if Bing traffic matters to you.
Frequently asked questions
What is a sitemap index, and when do I need one?
It is a master file that lists your other sitemaps instead of pages, and you need one the moment you pass 50,000 URLs. An index is also useful under the cap purely to organize, a separate sitemap for products, one for blog posts, one for categories, all tied together by a single index you submit. This tool builds it automatically once your list crosses the limit.
How does the tool decide where to split my list?
It fills each file in order until it would cross either protocol limit, 50,000 URLs or 50 MB, then starts the next. Because both caps are checked, a list of very long URLs can split before it reaches 50,000 entries, which keeps every file valid. The breakdown on screen shows how many URLs landed in each one.
Can I load an existing sitemap and re-split it?
Yes. Drag your current sitemap.xml onto the box or use Load file, and the tool reads the URLs straight out of its <loc> tags and drops them into the list. From there you can add or remove URLs, change the defaults, and download a fresh single file or a new split set. It is a quick way to rebuild a sitemap that has drifted out of date.
My index links point to files that return 404. What went wrong?
Almost always the folder address. The index references each child by its full public URL, so if you set that folder to https://example.com/ but actually upload the files to https://example.com/sitemaps/, the links in the index will not resolve. Set the folder field to the exact place you upload the child files, regenerate, and the addresses will match.
Should I set lastmod, changefreq, and priority?
<lastmod> is the one worth setting, and only if you keep it honest. Google uses it as a recrawl signal, but it has said it ignores the value on sites that stamp today's date on every URL whether or not anything actually changed. So set the real modified date or leave it off. <changefreq> and <priority> are effectively dead for Google, it disregards both, so blank is fine unless a smaller engine you target still reads them.
Can I gzip the sitemap to stay under the size limit?
You can serve a gzip-compressed file (sitemap.xml.gz) and search engines accept it, which cuts the download size sharply. It does not raise the ceiling, though. The 50 MB limit is measured on the uncompressed file, so if one file is genuinely too big, split it with an index instead.
Does having a sitemap get my pages indexed?
No, and this trips people up. A sitemap helps engines discover your URLs, it does not order them to index anything. Thin or duplicate pages can sit in your sitemap and still never make it into the index. Meanwhile strong pages you forgot to include often get found through links regardless. Treat it as making sure nothing important is missed, not as a guarantee.