XML Sitemap Generator

Paste one address per line, add a last-modified date if you have one, and get the sitemap.xml file to upload. Long lists are split into part files with an index, and each file's size in bytes is shown.

Free Runs in your browser Checked Tuesday, November 10, 2026

Full http or https addresses. Blank lines are skipped; a line that is not an address is reported with its line number.

Optional. Written for every address as YYYY-MM-DD. Use the date the page itself last changed.

Optional. Google ignores this value, so you can leave it empty.

Optional, from 0.0 to 1.0. Google ignores this value, so you can leave it empty.

Result

Files to save — Each file, the number of addresses in it and its size in bytes.
sitemap.xml
Part file sitemap-1.xml
Part file sitemap-2.xml
Part file sitemap-3.xml
Part file sitemap-4.xml
Part file sitemap-5.xml

This tool runs in your browser. What you enter is not sent to us.

How to use it

  1. Paste one full address per line in Addresses, one per line.
  2. Enter the Last modified date of the site, or leave it empty.
  3. Leave How often it changes and Priority empty, unless you want them in the file for other tools.
  4. Read Files to save, then save each file. Upload sitemap.xml to the root of your site and submit its address in Search Console.

What the file must contain

A sitemap is an XML file in the namespace http://www.sitemaps.org/schemas/sitemap/0.9, encoded in UTF-8. Each address is a url element with a loc child. lastmod, changefreq and priority are optional.

The protocol says that every data value must be entity-escaped: the ampersand, the single and double quote, and the greater-than and less-than signs. This tool escapes all five in every value, so an address with a query string stays valid.

  • An address must be under 2,048 characters and begin with http:// or https://.
  • lastmod can be a date in the form YYYY-MM-DD. It should be the date the page itself last changed, not the date the sitemap was made.

The limits and the sitemap index

One sitemap may hold no more than 50,000 URLs and must not be larger than 50 MB, which the protocol gives as 52,428,800 bytes uncompressed. A longer list must be split into several sitemaps, and those can be named in a sitemap index file.

This tool counts each file in bytes, not characters, and fills each part as far as both limits allow. A list of exactly 50,000 addresses is one file; 50,001 addresses make two. The index lists the part files at the root of the site.

What Google uses

Google's sitemap guide says that Google ignores the priority and changefreq values. It uses the lastmod value only if it is consistently and verifiably accurate, for example when it matches the last real change of the page. Google also says a sitemap has the same limits of 50 MB or 50,000 URLs, and that a larger list needs several sitemaps and an index.

Worked example: three addresses with a last-modified date

The default input has three addresses and the date 2026-11-01, with the change frequency and the priority left empty. The result is one file, sitemap.xml, with a lastmod line under each address and no other optional tag.

The file is 416 bytes. Because the list is far below the limits, no index is written and no part file appears.

Item Result Detail
Addresses 3 each with lastmod 2026-11-01
Files 1 sitemap.xml, 416 bytes
Optional tags written 1 lastmod only; changefreq and priority are left out

Frequently asked questions

Why is changefreq or priority left out of the file?

Google says it ignores both values, so writing them does not change how Google treats your pages. You can still fill them in if another tool reads the file.

What happens when my list is longer than 50,000 addresses?

The list is split into several files. sitemap.xml becomes an index that names sitemap-1.xml, sitemap-2.xml and so on, and each part holds at most 50,000 addresses and 50 MB. Upload every file to the root of the site.

Why does the tool count bytes and not characters?

The protocol sets the 50 MB limit in bytes, and UTF-8 letters such as ç or ü take two bytes each. The tool counts each file's UTF-8 bytes with TextEncoder, so a part can never pass the limit.

Can I use Turkish letters in the addresses?

Yes. The tool keeps the letters as you typed them and does not percent-encode them. The protocol asks for URL-escaped addresses, so if your server needs encoded paths, type the encoded form.

Why is a line of my list left out?

A line must be an absolute http or https address of at most 2,048 characters with a host name. The tool reports the line number and writes the other addresses.

Does the tool upload my list anywhere?

No. The sitemap is built in your browser and the files are created on your device. Nothing you enter is sent to a server.

Sources

Figures and text last checked on Tuesday, November 10, 2026.

We use necessary cookies to run the site. With your consent, Google also uses advertising cookies to show personalised ads. If you reject them, you still see ads, but they are not personalised.