Free XML Sitemap Generator

Paste your pages, one per line, and get a valid sitemap.xml you can copy or download. Clean up URLs, set tags per page, add language alternates, and nothing leaves your browser.

Pages

Override a page by adding a date, priority or frequency after it: /blog 2026-09-01 0.9 daily

Clean up URLs

Trailing slash

/admin drops that path and everything under it; * matches anything.

Sort

Tags

Change frequency

Priority

Homepage 1.0, top-level pages 0.8, then 0.6 and 0.4 deeper down.

Last modified

Languages (hreflang)

The first code is the language of the pages above. The others are listed under subfolders such as /de/pricing, each with the full set of alternates. Leave empty for a single-language site.

Output

Format

Your sitemap.xml

0 URLs · 4 invalid (add your website URL for relative paths)

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>

Upload it to /sitemap.xml, reference it in robots.txt, then check it with the sitemap checker before you submit it in Search Console.

Build Clean XML Sitemaps for Search Engine Crawlers

A sitemap should list only the canonical, indexable pages you want crawled, each as a full URL on your own host. The cleanup options handle the usual mess in a pasted list: they force https://, drop URLs on other hosts, strip tracking parameters, settle trailing slashes, remove duplicates and skip anything matching your exclude patterns.

Reserved characters such as & are escaped for you, and the output follows the sitemaps.org protocol that Google, Bing and other crawlers read.

Setting Correct lastmod, Priority, and changefreq Tags

lastmod is the tag that matters. Google uses it to decide what to recrawl, but only while the dates stay accurate. Set it to when the content really changed, never to the build date for every URL. You can give a single page its own date by adding it after the URL.

Google ignores priority and changefreq. Other crawlers may still read them, so either leave them out or keep them simple: priority by depth and one honest change frequency.

How to Submit Your sitemap.xml to Google and Bing Webmaster Tools

  1. Upload the file so it loads at /sitemap.xml on your domain.
  2. Add a Sitemap: line with its full URL to robots.txt. Every crawler reads that line, including ones you never submit to.
  3. In Google Search Console, open Sitemaps, enter the sitemap URL and submit it. Check back for the discovered URL count and any errors.
  4. In Bing Webmaster Tools, open Sitemaps, choose Submit sitemap and enter the same URL.

How to create an XML sitemap

  1. 1

    Enter your website URL

    Relative paths are expanded against this origin, so /pricing becomes https://yourdomain.com/pricing. Full URLs are left untouched.

  2. 2

    Paste your pages, one per line

    List only canonical, indexable URLs that return 200. Leave out redirects, paginated duplicates, tag archives and anything blocked by robots.txt.

  3. 3

    Set changefreq, priority and lastmod

    These are hints, not commands. Set lastmod only when the content genuinely changed on that date, otherwise crawlers learn to ignore it.

  4. 4

    Download sitemap.xml and upload it

    Serve it at https://yourdomain.com/sitemap.xml as application/xml, and add a Sitemap line pointing to it in robots.txt.

  5. 5

    Submit it in Google Search Console

    Open the Sitemaps report, submit the URL once, then check back for the discovered-URL count and any parsing errors.

Single sitemap or sitemap index?

One sitemap file can hold up to 50,000 URLs and 50MB uncompressed. Below that, a single sitemap.xml at the root is all you need.

Larger sites split by section, then point a sitemap index at each file. Submit only the index in Search Console.

<?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>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
  </sitemap>
</sitemapindex>

Validate before you submit

  • Every URL must be absolute and on the same host as the sitemap.
  • Ampersands and other reserved characters must be escaped, for example &amp;. This generator escapes them for you.
  • Only include canonical URLs that return 200 and are not noindexed or robots-blocked.
  • Add a Sitemap: line to robots.txt with the robots.txt generator.
  • After uploading, run the live file through the sitemap checker to confirm it loads, validates and that a sample of its URLs answer 200.

Check whether your sitemap is discoverable

Run a free SEO and GEO audit to confirm your sitemap is served, referenced in robots.txt, and matched by crawlable, indexable pages.

XML Sitemap Best Practices FAQ

What is an XML sitemap?

An XML sitemap is a machine-readable list of the URLs on a site that you want search engines to crawl. It helps discovery on large sites, new sites with few links, and pages that are not well linked internally.

Where should sitemap.xml live?

At the root of the host, such as https://example.com/sitemap.xml, served with an XML content type. A sitemap can only list URLs on the host it is served from.

What is the URL limit for a single sitemap.xml file?

A single sitemap file is limited to 50,000 URLs and 50MB uncompressed. Beyond that, split it into multiple sitemaps and reference them from a sitemap index file.

Does Google Search ignore priority and changefreq tags?

Yes. Google's documentation says it ignores both <priority> and <changefreq>, and neither affects rankings. It does use <lastmod> when the dates are consistently accurate. Other search engines may still read the two tags, so keep them simple and honest, or leave them out.

Should lastmod be today's date?

Only if the page actually changed today. Sitemaps that stamp every URL with the build date are treated as unreliable, which weakens the signal for pages that really did change.

Can a sitemap include hreflang for other languages?

Yes. Each <url> lists its language versions as xhtml:link alternates, and every language version must appear in the sitemap with the same full set, including itself. This generator writes that for sites that put translations in subfolders such as /de/ and /fr/.

Which URLs should I leave out?

Non-canonical duplicates, redirect targets' sources, noindex pages, URLs blocked in robots.txt, login and account pages, and anything returning a non-200 status.