Sitemap checker & XML sitemap validator
Paste, upload or fetch a sitemap and get every protocol error, every Google-specific warning and a fix for each, in one list.
What makes a sitemap valid
The rules come from two places. The sitemaps.org protocol defines the format every major search engine accepts. Google’s sitemap documentation adds how Google actually uses it. The checker tests both.
| Rule | Requirement | Source |
|---|---|---|
| Encoding | UTF-8, with entity-escaped &, <, >, quotes | sitemaps.org |
| Root & namespace | <urlset> or <sitemapindex> with xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" | sitemaps.org |
| <loc> | Required; absolute URL including protocol; fewer than 2,048 characters | sitemaps.org |
| Size | At most 50,000 URLs and 50 MB (52,428,800 bytes) uncompressed per file | sitemaps.org, Google |
| <lastmod> | W3C Datetime (e.g. 2026-09-27 or 2026-09-27T10:00:00+00:00); Google uses it only when consistently accurate | sitemaps.org, Google |
| <changefreq>, <priority> | Optional; priority 0.0–1.0. Google ignores both | sitemaps.org, Google |
| Location | A sitemap can list URLs only in its own folder and below, unless submitted through robots.txt or Search Console | sitemaps.org |
Reading the results
Errors break the protocol: a parser may reject the whole file (bad XML, wrong namespace) or drop the entry (relative URL, missing loc). Warnings are legal but work against you, such as duplicates, URLs on another host, future dates or every lastmod set to the same build time. Info notes explain things that are fine but often misunderstood, like priority values that Google skips.
One practical order: fix anything that stops parsing, then make every URL canonical (one protocol, one host, no fragments, no duplicates), then make lastmod honest. Honest lastmod is the one optional tag with a documented effect on Google’s recrawling.
Questions
What does the sitemap checker test?
Well-formed XML, the urlset or sitemapindex root with the sitemaps.org namespace, a <loc> on every entry, absolute http(s) URLs under 2,048 characters, the 50,000-URL and 50 MB limits, W3C Datetime lastmod values, valid changefreq and priority values, duplicates, mixed hosts or protocols, fragments, future dates and identical build-time lastmod stamps.
Why does it say Google ignores priority and changefreq?
Google’s documentation on building sitemaps states that Google ignores <priority> and <changefreq> values, and uses <lastmod> if it is consistently and verifiably accurate. Other search engines may read them, so valid values are harmless.
My sitemap passed. Why are pages still not indexed?
A sitemap is a hint for discovery, not an indexing guarantee. Check the Page indexing and Sitemaps reports in Google Search Console, make sure the URLs are canonical, return 200, are not blocked by robots.txt and are not noindex.
Can it check a sitemap index?
Yes. It validates the index file itself and lists each child sitemap with a button to check that child next.
Is my sitemap uploaded anywhere?
Pasted or uploaded files are parsed in your browser. When you fetch by URL, our server downloads that one file for you (it cannot read files on private networks) and does not store it. The optional AI notes send only a short summary of the findings.