Generate a valid sitemap.xml from a list of URLs in seconds. Paste your URLs (one per line), configure default lastmod, changefreq and priority, optionally override per URL, and copy the result. Includes a sitemap index mode for large sites that split their sitemap into multiple files. Validates the output, warns about duplicates, and respects the 50,000 URLs / 50 MB limits. Free, runs in your browser.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> </urlset>
A sitemap.xml is an XML file that lists the URLs of a website so search engines can discover and crawl them efficiently. It complements navigation links and internal site structure by giving Google, Bing and others a clean, machine-readable list of everything you want indexed. For small sites, a sitemap is helpful; for large sites or sites with deep content not reachable from the homepage in a few clicks, it's nearly essential.
The standard is defined at sitemaps.org and supported by Google, Bing, Yandex, Yahoo and most modern crawlers. A single sitemap file can list up to 50,000 URLs and weigh up to 50 MB uncompressed. Beyond that, you split into multiple sitemaps and use a sitemap index file (this generator's second mode) to reference them.
Step 1 — Paste your URLs. One URL per line in the textarea on the left. Lines starting with # are treated as comments and skipped. Empty lines are ignored. Each URL must have a protocol (https:// or http://); URLs without one are flagged with a warning and excluded from the output.
Step 2 — Set global defaults. Pick a lastmod strategy (today by default, blank, or a specific custom date), a changefreq hint (or omit), and a default priority between 0.0 and 1.0. These apply to every URL unless you override them individually.
Step 3 — (Optional) Per-URL overrides. Toggle "Show per-URL override table" to edit lastmod, changefreq and priority for each URL individually. Useful for marking the homepage as priority 1.0 while the blog index sits at 0.8 and individual posts at 0.5.
Step 4 — Copy or download. The XML preview on the right updates live. Use Copy or Download to save as sitemap.xml. Place the file at your site's root (https://yoursite.com/sitemap.xml) and reference it from your robots.txt.
lastmod — when the URL was last modified, in ISO 8601 format (e.g. 2026-05-23). Google has officially stated it does use lastmod when it's accurate, so keep it honest. If you can't programmatically update it, omit it entirely rather than putting today's date on every URL.changefreq — how often the URL changes. Allowed values: always, hourly, daily, weekly, monthly, yearly, never. Google has said this is mostly ignored, so don't worry about getting it exactly right.priority — relative importance of this URL within YOUR site, on a scale of 0.0 to 1.0. Default is 0.5. Google has said this is completely ignored. Other search engines may weight it slightly. Most sites don't bother setting it.In practice, only loc and a real lastmod matter much. The other two are conventions kept for backward compatibility.
If you have more than 50,000 URLs OR your sitemap file exceeds 50 MB, split your sitemap into multiple smaller files and create a sitemap index that references them. The index file lists the URL of each child sitemap. This generator's second tab handles that — paste the URLs of your child sitemaps and generate a clean sitemap_index.xml.
Common patterns:
sitemap-pages.xml + sitemap-posts.xml + sitemap-products.xml referenced by sitemap_index.xmlsitemap-2024.xml + sitemap-2025.xml + sitemap-2026.xml for blog archivesOnce your sitemap.xml is live at the root of your site:
Sitemap: https://yoursite.com/sitemap.xml. This is how most crawlers discover the file. Use this site's Robots.txt Generator to add it.sitemap.xml.gz).https://, not relative paths.<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-05-23</lastmod>
</url>
<url>
<loc>https://example.com/about</loc>
<lastmod>2026-05-23</lastmod>
</url>
</urlset>
<url>
<loc>https://example.com/</loc>
<lastmod>2026-05-23</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2026-05-23</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2026-05-23</lastmod>
</sitemap>
</sitemapindex>
An XML file listing your site's URLs so search engines can discover and crawl them efficiently. Defined by sitemaps.org and supported by all major crawlers. One file holds up to 50,000 URLs and 50 MB uncompressed; beyond that, split into multiple files with a sitemap index.
For small sites (under a few hundred pages) with good internal linking, Google can find your pages without one. But sitemaps don't hurt and help in many cases: brand-new sites with no backlinks, sites with deep content not reachable in 3 clicks, dynamic content (forums, listings), and any site that updates frequently. The Sitemap line in robots.txt is the easiest way to advertise it.
Whenever you add, remove, or significantly change pages. For static sites, regenerate after each deploy. For CMS-based sites (WordPress, Shopify), most have plugins that auto-regenerate. Stale sitemaps with 404s or removed pages reduce trust with crawlers.
No — Google has confirmed they ignore the priority tag entirely. It's a relative hint within YOUR site, not a ranking signal. Most webmasters leave it at the default 0.5 or omit it. The other elements (lastmod, changefreq) carry similar disclaimers, but lastmod is the one Google has said they DO use when it's accurate.
At the root of your site: https://yoursite.com/sitemap.xml. Other paths technically work if you submit them manually in Search Console, but the root is the convention and what most tools expect. For static-site generators (Astro, Hugo, Next.js, Jekyll, Eleventy), drop it in the public/ or output folder.
Two ways: (1) Add Sitemap: https://yoursite.com/sitemap.xml to your robots.txt — Google and Bing pick it up automatically. (2) In Google Search Console, go to "Sitemaps", paste the URL, click Submit. Same flow exists in Bing Webmaster Tools.
Yes — split by content type or by date when one file gets too large. Create a sitemap index file (this generator's 2nd tab) that lists each child sitemap. Example: sitemap-pages.xml, sitemap-posts.xml, sitemap-products.xml, all referenced by sitemap_index.xml at the root.
No. Including a page in the sitemap signals "please crawl this" — but if the page has noindex, you're wasting crawl budget. Same for pages blocked in robots.txt. The sitemap should only contain URLs you actually want indexed.