All tools

Free XML sitemap generator

Paste your pages, one per line, and get a valid sitemap.xml you can copy or download. Relative paths use your domain, full URLs are kept as they are, and nothing leaves your browser.

0 URLs ready

Your sitemap.xml

<?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 submit it in Search Console.

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.

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.

Frequently asked questions

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.
How many URLs can one sitemap hold?
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.
Do priority and changefreq affect rankings?
No. Google ignores priority and treats changefreq as a weak hint at best. They do not influence rankings, so keep them simple and accurate rather than tuning them.
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.
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.