← All tools

XML sitemap generator & validator

Make a sitemap.xml from a list of your pages, or check an existing sitemap. The generator cleans the list (duplicates, fragments, relative paths), adds last-modified dates and splits large sites into files with a sitemap index. The validator reads a live or pasted sitemap, checks it against the protocol and Google's limits, and tests whether its pages actually load.

0 addresses

About the XML sitemap generator & validator

An XML sitemap is a file that lists the pages you want search engines to find, with the date each one last changed. It doesn't make pages rank, but it helps Google and Bing discover new and updated pages quickly, especially on new sites, large sites and pages with few links pointing to them. This tool does both jobs: it builds a sitemap.xml from a list of addresses, and it checks an existing sitemap, live or pasted, for the mistakes that make search engines ignore it.

How to use it

  1. To create one, paste your page addresses, one per line, and fill in the site address so paths like /about are completed.
  2. Add a date after any address (a tab or comma, then 2026-10-20) to give that page a last-modified date, or choose to leave dates out.
  3. Read the notes: duplicates, #fragments, mixed http and https, other hosts and query strings are flagged or fixed.
  4. Download sitemap.xml (or a ZIP with numbered files and an index for big sites), upload it to your site's top folder and add it to robots.txt.
  5. To check one, switch to Check a sitemap and type your domain or the sitemap's address; the tool finds it through robots.txt if you give just the domain.
  6. Fix anything marked in red, then click Check if the first 20 pages load to catch redirects and 404s listed in the sitemap.

Tip: Only list pages you want in search results: the final, canonical address of each page that answers 200 OK and isn't marked noindex. A sitemap full of redirects, errors and duplicates teaches Google to trust it less.

What a good sitemap contains

<loc>
The page's full address, exactly as you want it indexed: https or http, with or without www, and the same trailing slash as your canonical tag. Special characters such as & must be escaped (&amp;); the generator does it for you.
<lastmod>
When the page's main content last changed, in W3C format (2026-10-27 or with a time). Google uses it when it is consistently accurate, so don't set every page to today.
<changefreq> and <priority>
Google ignores both. They are harmless and the generator can add them for other search engines, but they are left out by default.
Limits
Up to 50,000 addresses and 50 MB (uncompressed) per file. Bigger sites use several files listed in a sitemap index, which the generator makes automatically.
Location
Put the file in the top folder (example.com/sitemap.xml). A sitemap in a sub-folder should only list pages in that folder, unless robots.txt points to it.

What the validator checks

It reads urlset sitemaps, sitemap indexes, compressed .xml.gz files and plain-text sitemaps. It checks the XML namespace, broken or unclosed entries, unescaped ampersands (the most common reason a whole sitemap fails), relative or missing <loc> values, duplicates, dates in the wrong format or in the future, priorities outside 0 to 1, invalid change frequencies, more than 50,000 entries or 50 MB, and addresses on other hosts, the other protocol or outside the sitemap's folder.

For a sitemap index, each listed sitemap has a Check button. For a sitemap of pages, Check if the first 20 pages load asks each address once and shows its status: 200 is good, while 301 and 302 redirects, 404s and 410s should be replaced by the final address or removed.

Submitting your sitemap

Add a line to robots.txt, such as Sitemap: https://www.example.com/sitemap.xml; every search engine reads it. Then submit the same address in Google Search Console (Indexing, Sitemaps) and Bing Webmaster Tools, which report how many addresses were read and any errors. Resubmitting isn't needed after every change: search engines fetch the sitemap again on their own, and an updated <lastmod> tells them what changed.

WordPress (version 5.5 and later) makes a sitemap at /wp-sitemap.xml, and SEO plugins such as Yoast and Rank Math make /sitemap_index.xml; Shopify, Wix and Squarespace make /sitemap.xml automatically. In those cases use the validator to check the automatic sitemap rather than making a new one, and make sure only one is listed in robots.txt and Search Console.

When a hand-made sitemap is useful

A generated list is ideal for static sites, landing-page builders without a sitemap, single-page apps, a set of new pages you want found quickly, or a site moving to a new domain, where a sitemap of the old addresses helps search engines see the redirects sooner. Export the list of pages from your CMS, a spreadsheet or a crawler, paste it here and download the file.

Tips and tricks

Real dates

Use each page's real last change. Setting every page to today makes Google ignore the dates altogether.

Canonical only

Leave out paginated, filtered, sorted and tracking (?utm=) versions unless they are the canonical page.

No noindex pages

A page marked noindex in a sitemap sends opposite signals. Remove one or the other.

One sitemap per job

Large sites often split by type: products, categories, blog posts. Errors are then easy to trace.

Keep it current

Regenerate or update the file when pages are added or removed; a stale sitemap with 404s helps nobody.

Images

Pages with important images can list them inside <image:image> tags; the validator shows how many each page has.

Questions

Do I need a sitemap?

Small sites with good internal links are found without one, but a sitemap costs nothing and helps new, large or rarely linked pages get discovered faster. Google recommends one for most sites.

Does a sitemap improve rankings?

No. It helps search engines find and recrawl pages; whether they rank depends on the pages themselves.

How many URLs can a sitemap have?

50,000 addresses or 50 MB uncompressed per file. Use a sitemap index to list up to 50,000 sitemaps.

Should I include priority and changefreq?

Not for Google, which ignores them. Bing may read changefreq. An accurate lastmod matters far more.

Why does Search Console say 'Couldn't fetch'?

The address is wrong, the file is blocked by robots.txt or a firewall, or the server answers with an error or an HTML page. Check the address here; it shows exactly what the server sends back.

Is my list or sitemap stored?

No. Sitemaps are built in your browser. A live sitemap is fetched once by our server for the check and isn't kept.

Related tools

Updated