From a list of URLs to a valid sitemap.xml
This XML sitemap generator turns the URLs you paste into a sitemap.xml that follows the sitemaps.org protocol: every URL validated and XML-escaped, duplicates removed, and optional lastmod, changefreq and priority set globally or per URL. Past 50,000 URLs or 50 MB the output is split into several files with a sitemap index, downloaded together as a zip. You can also paste or open an existing sitemap to check it and edit it. It works from the list you give it rather than crawling your site, and everything runs in your browser.
How to create an XML sitemap
- 1Paste your page URLs, one per line — from your CMS, a crawl export or a spreadsheet column. Each must be an absolute URL starting with
https://orhttp://. - 2Optionally follow a URL with its own values, separated by spaces or commas:
https://example.com/pricing 2024-09-01 monthly 0.9. - 3Set defaults for the rest: lastmod (none, today or a date), changefreq and priority, or leave them out.
- 4Fix anything listed under the input — invalid URLs, duplicates, other hosts — then copy or download
sitemap.xml. - 5Upload it to your site's root, add
Sitemap: https://example.com/sitemap.xmlto robots.txt and submit it in Google Search Console and Bing Webmaster Tools.
What an XML sitemap does
A sitemap lists the URLs you want search engines to find, with an optional date each one last changed. It helps crawlers discover pages that few links point to — new pages, deep archive pages, large sites with complex navigation — and lets them re-crawl changed pages sooner. It is a hint, not a command: listing a URL does not guarantee it will be indexed.
List only canonical URLs that return 200 and that you want in search results. Leave out redirects, error pages, pages with noindex, duplicates with tracking parameters and URLs blocked in robots.txt; including them sends mixed signals and wastes crawl budget.
The tags in a sitemap
- <loc>
- Required. The absolute URL of the page, at most 2,048 characters, XML-escaped: an & in a query string is written &. The tool escapes it for you.
- <lastmod>
- When the page content last changed, in W3C Datetime format: 2024-09-01 or 2024-09-01T14:30:00+00:00. Google uses it when it is consistently accurate, so set it to real modification dates rather than today's date on every page.
- <changefreq>
- always, hourly, daily, weekly, monthly, yearly or never. Google ignores it; some other crawlers may read it.
- <priority>
- 0.0 to 1.0, relative to other pages on your site (default 0.5). Google ignores it as well.
Large sites: 50,000 URLs and the sitemap index
One sitemap file may hold at most 50,000 URLs and be at most 50 MB uncompressed. When your list goes past either limit, the generator splits it into sitemap-1.xml, sitemap-2.xml and so on, and writes a sitemap.xml sitemap index that points to them. Set the base URL where the files will live so the index links are right, upload all of them, and submit only the index.
A sitemap index can list up to 50,000 sitemaps. Sitemaps can also be served gzip-compressed (sitemap.xml.gz); the size limit applies to the uncompressed file.
Validation performed
- URLs must be absolute http or https URLs; relative paths are rejected.
- URLs are normalised (lowercase host, percent-encoded spaces and non-ASCII characters) and exact duplicates are dropped.
- URLs on a different host than the first are flagged: a sitemap may only list URLs from its own host unless cross-submission is verified in Search Console.
- #fragments are removed, since search engines ignore them.
- lastmod values must be valid W3C dates and priority between 0.0 and 1.0.
Import and edit an existing sitemap
Paste the XML of a sitemap, or open a .xml file, and the tool offers to convert it back into an editable list, keeping each URL's lastmod, changefreq and priority. A sitemap index is read as the list of child sitemap URLs. This makes it quick to audit a sitemap your CMS generates, remove URLs, or merge two sitemaps. Pair it with the robots.txt generator to announce the sitemap, and the meta tag generator to set canonical URLs on the pages.
Frequently asked questions
- Does this tool crawl my website?
- No. It builds the sitemap from the URLs you paste or import, so it works for any site, including staging sites and pages a crawler could not reach. Export the URL list from your CMS or a crawler and paste it here.
- How many URLs can a sitemap contain?
- Up to 50,000 URLs and 50 MB uncompressed per file. Larger lists are split automatically into several sitemap files plus a sitemap index.
- Do changefreq and priority matter for SEO?
- Not for Google, which ignores both. Accurate lastmod dates are the field Google does use. Leaving changefreq and priority out is perfectly valid.
- Where should I upload sitemap.xml?
- Usually the root of your site, e.g. https://example.com/sitemap.xml. A sitemap can only list URLs in its own folder and below, so the root covers everything.
- How do I submit a sitemap to Google?
- In Google Search Console, open Sitemaps, enter the sitemap URL and submit. Also add a Sitemap: line to robots.txt so other search engines find it.
- Why is & changed to & in my URLs?
- Sitemaps are XML, where & starts an entity, so it must be written &. Search engines decode it back; the URL itself is unchanged.
- Can I include URLs from another domain?
- Generally no: a sitemap should list URLs on the same host as the sitemap. Cross-site sitemaps work only when you verify ownership of both sites in Search Console.
- Is my URL list uploaded?
- No. Validation, generation and zipping happen in your browser.