What an XML sitemap does
An XML sitemap is a file that lists the pages of your site for search engines. Google describes it as a file where you provide information about the pages, videos and other files on your site, so crawlers can find them more efficiently. It is most useful when a site is large, when it is new and has few links from other sites, or when it has a lot of rich media. Google also notes that most sites benefit from one, while a small site of about 500 pages or fewer that is well linked internally may not need it.
A sitemap is a hint, not an order. It does not guarantee that every URL in it is crawled or indexed, and it does not replace good internal links. List the pages you want to see in search results, in the form you want shown, which usually means the canonical version of each page.
What goes into a sitemap
The format is defined by the sitemaps.org protocol, version 0.9. Each page is a <url> entry inside a <urlset>, and only the address is required:
| Tag | What it holds | What Google does with it |
|---|---|---|
| loc | The full URL of the page, required | Uses it to find the page |
| lastmod | When the page last changed, as 2026-09-28 or with a time and time zone | Uses it when it is consistently and verifiably accurate |
| changefreq | How often the page changes, from always to never | Ignores it |
| priority | Importance relative to your other pages, 0.0 to 1.0, default 0.5 | Ignores it |
Because Google ignores priority and changefreq, the generator leaves them out unless you pick a value. The protocol itself says priority only compares pages within your own site and does not affect how your pages are compared with other sites. The date that matters is lastmod, and it should be the date the page changed in a meaningful way, not the date the sitemap was made. Updating a copyright year in the footer is not such a change.
The rules this generator follows
- UTF-8 and escaping. The file is UTF-8, and the characters &, ', ", < and > inside values are written as entities, so a URL like ?color=blue&size=m becomes ?color=blue&size=m in the XML.
- Absolute URLs. Every URL starts with its protocol. Paths like /pricing/ are completed with your site address. Characters such as spaces or letters with accents are percent-encoded, and #fragments are removed because they point to the same page.
- One host, one protocol. All URLs in a sitemap must use the same protocol and host. Other hosts, http next to https and www next to the bare domain are left out and listed, so you can decide what to do with them.
- No duplicates. The same URL twice is kept once, with the first date that came with it.
- Length. Each URL must be shorter than 2,048 characters.
- Size. A sitemap holds at most 50,000 URLs and 50 MB (52,428,800 bytes) uncompressed. Larger lists are split, and a sitemap index lists the parts.
The output validates against the official XML schema from sitemaps.org. A time in lastmod is written with seconds, because the schema requires them even though the date format would allow them to be left out.
What you can paste
The generator reads URLs out of almost anything. A plain list with one URL per line works, as does a CSV export with the URL in one column and the date in another, separated by commas, semicolons or tabs. You can paste the HTML of a menu or a page, and it picks up the links, or an existing sitemap, and it keeps the URLs with their dates, which is handy to split a sitemap that has grown too large or to clean out duplicates. Dates are read in the ISO format, like 2026-09-28 or 2026-09-28T14:30:00+02:00. A date written as 09/28/2026 is ambiguous between countries, so it is left out and reported.
How to submit your sitemap
Upload the file to the root folder of your site. Google says a sitemap at the root can affect all files on the site, while one in a subfolder only covers that folder, unless you submit it in Search Console. Then tell search engines where it is:
- robots.txt. Add a line like Sitemap: https://example.com/sitemap.xml. The protocol says this line is independent of the user-agent groups, so it can go anywhere in the file, and you can list more than one sitemap. The robots.txt generator adds it for you.
- Google Search Console. Submit the sitemap URL in the Sitemaps report. It shows when Googlebot read the sitemap and any processing errors.
With a split sitemap, upload every file and submit only the index. While you are working on the pages themselves, the meta tag generator helps with titles and descriptions.
How to use the XML sitemap generator
- 1Paste your URLs, one per line, with a date after each URL if you know when the page last changed, or open a text, CSV or XML file.
- 2Check the counts and the list of anything left out, and enter your site address if the generator picked the wrong host.
- 3Download sitemap.xml, or the ZIP with all parts and the index for a large site, upload it to the root of your site and submit it as shown above.
Frequently asked questions
Does this tool crawl my website?
No. It builds the sitemap from the URLs you give it, so it works for any site, including pages that are not linked yet, and nothing is fetched or sent anywhere. Paste a list of URLs, a CSV export from your CMS or a spreadsheet, the HTML of a page with links, or an existing sitemap you want to clean up or split.
Should I set priority and changefreq?
For Google it makes no difference: Google says it ignores both values. The sitemaps.org protocol keeps them as optional fields and calls changefreq a hint rather than a command, so the generator can add them, but it leaves them out by default. A correct lastmod date is the field worth your time.
What date should I use for lastmod?
The date the page itself last changed in a meaningful way, not the date you made the sitemap. Google uses lastmod only when it is consistently and verifiably accurate. Add the date after the URL on the same line, like https://example.com/about/, 2026-09-28. A time is allowed too, but it needs a time zone such as Z or +02:00.
Why were some of my URLs left out?
A sitemap can only list URLs on one host with one protocol, so https://example.com, https://www.example.com and http://example.com count as three different sites. The generator keeps the host most of your URLs use, or the site address you enter, and lists everything it left out. URLs of 2,048 characters or more are dropped as well, because the protocol does not allow them.
What happens with more than 50,000 URLs?
One sitemap may hold at most 50,000 URLs and 50 MB uncompressed. Above that, the generator splits the list into sitemap-1.xml, sitemap-2.xml and so on, adds a sitemap index that lists them, and gives you everything as one ZIP file. Upload all files to the root of your site and submit only the index.
Where do I upload sitemap.xml?
Upload it to the root folder of your site, so it opens at https://your-site/sitemap.xml. Google says a sitemap at the root can affect all files on the site, while one in a subfolder only covers that folder unless you submit it in Search Console. Then add a Sitemap line to robots.txt and submit the sitemap in Search Console.