An XML sitemap lists the URLs you want search engines to crawl, along with optional metadata. Search engines silently ignore entries that break the schema, so a single relative <loc>, a malformed <lastmod>, or an out-of-range <priority> can quietly drop pages from indexing. This XML sitemap validator checks your file against the sitemaps.org 0.9 schema in your browser.
How it works
The tool first parses your input with the browser’s XML parser and reports any well-formedness error. It then inspects the root element to decide whether it is a <urlset> (a URL sitemap) or a <sitemapindex> (a list of sitemaps), and applies the matching rules:
- Every
<url>(or<sitemap>) must contain a<loc>, and that<loc>must be an absolutehttporhttpsURL no longer than 2048 characters. <lastmod>must be a valid W3C / ISO 8601 date or datetime; calendar-impossible dates are rejected.<changefreq>must be one ofalways,hourly,daily,weekly,monthly,yearly, ornever.<priority>must be a number between0.0and1.0.- A file may contain at most 50,000 entries.
Common errors and what they mean
Relative <loc> URL — for example /about instead of https://example.com/about. Googlebot requires absolute URLs; a relative path is silently skipped. The fix is to prepend your canonical origin.
Invalid <lastmod> date — 2026-2-5 (wrong) versus 2026-02-05 (correct). The W3C datetime profile requires zero-padded months and days. Also watch out for calendar-impossible dates like 2026-02-30, which the validator rejects even though they are syntactically plausible.
Unknown <changefreq> value — often or sometimes are not in the spec. Only always, hourly, daily, weekly, monthly, yearly, and never are valid. Note that Google largely ignores changefreq for crawl scheduling, but an invalid value still makes the file non-compliant.
Out-of-range <priority> — any value below 0.0 or above 1.0 fails. 1.5 and -1 are common mistakes when priority is set programmatically. Google also pays limited attention to priority, but again, the value must be in range for schema compliance.
File too large — a single sitemap is limited to 50,000 URLs and 50 MB uncompressed. If you exceed this, split into multiple sitemaps and point to them from a sitemap index.
Sitemap index vs URL sitemap
A <sitemapindex> contains pointers to individual <sitemap> files, each with its own <loc>. A <urlset> contains <url> entries pointing directly to pages. You can have a sitemap index that references multiple URL sitemaps — useful when your site exceeds 50,000 pages. This validator handles both root element types and applies the matching rules automatically.
After validation
Passing this validator confirms structural correctness, not that the listed URLs return 200 or use canonical URLs. The next step is to submit in Google Search Console (Settings → Sitemaps) and watch the coverage report for crawl errors and the indexed-vs-submitted ratio. All checks here run locally, so internal or staging sitemaps stay private.