Sitemap Validator
Paste your sitemap XML to validate it against the sitemaps.org protocol — catch broken URLs and bad values before Google does.
Cross-origin fetching (CORS)
Fetching a sitemap by URL relies on the target site allowing cross-origin requests, which most sites don't. If the fetch fails, paste the sitemap XML directly instead — that always works since it's checked entirely in your browser.
How to use the sitemap validator
- Paste your sitemap XML, or try the built-in valid and broken examples.
- Read the pass/fail status and entry stats, updated live.
- Fix any listed errors or warnings, quoting the offending value.
- Optionally try "Fetch by URL," though most sites will block this via CORS.
How it works
The validator parses your XML with the browser's built-in DOMParser and checks it against the sitemaps.org protocol: the root element must be <urlset> or <sitemapindex> with the correct namespace, every entry needs a valid absolute URL in <loc>, any <lastmod> must be a valid W3C datetime, <changefreq> must be one of the allowed values, and <priority> must be between 0.0 and 1.0. It also flags files exceeding the protocol's limits of 50,000 URLs or 50 MB uncompressed.
Frequently asked questions
Should I paste my sitemap or use the URL fetch option?
Pasting is the most reliable option. Fetching by URL relies on the target site allowing cross-origin (CORS) requests, which most sites block — if that happens, just paste the XML directly instead.
What are the sitemap size limits?
Per the sitemaps.org protocol, a single sitemap file should have no more than 50,000 URLs and be no larger than 50 MB uncompressed. Larger sites should split into multiple sitemap files with a sitemap index.
What exactly does this check?
The root element and namespace, that every entry has a valid absolute URL, that <lastmod> is a valid date, that <changefreq> is an allowed value, and that <priority> is between 0.0 and 1.0.
Is my sitemap uploaded anywhere?
No — when you paste XML, validation runs entirely in your browser.