Sitemap XML Validator
Sitemap XML validator in the browser: check urlset and sitemapindex protocol rules — loc, lastmod, changefreq, priority, duplicate URLs, image/hreflang extensions, 50k cap — then copy a report or download a CSV. Nothing is uploaded.
Sitemap XML validator
Check a urlset or sitemapindex in this tab. The sitemap XML validator flags relative loc values, bad lastmod/changefreq/priority, duplicate URLs, empty image/hreflang extensions, and the 50k-URL cap. Nothing is uploaded.
Drop sitemap.xml or .xml.gz, or paste with ⌘V / Ctrl+V.
⌘V / Ctrl+V · .xml .txt .gz
How to Use
How it works
People search sitemap xml validator when a sitemap.xml they are about to push to Search Console keeps getting ignored, or when a merge of several generators produced a file that is well-formed XML but not a legal sitemap. A generic XML lint only answers “does it parse?” This page answers the sitemaps.org protocol.
- Paste or drop —
.xml,.txt, or.xml.gz(inflated in the tab). Nothing is uploaded. - Kind — root
urlsetvssitemapindex. An RSS/Atom feed or an HTML page is rejected as not a sitemap. - Each
<url>/<sitemap>—locmust be an absolutehttporhttpsURL, at most 2048 characters, with no whitespace. Relative paths fail. - Optional fields —
lastmodmust be W3C datetime (YYYY-MM-DDor ISO 8601).changefreqmust be one of always, hourly, daily, weekly, monthly, yearly, never.prioritymust be 0.0–1.0. - Duplicates and extensions — the same
loctwice is an error.image:imageneedsimage:loc.xhtml:linkhreflangalternates are counted. - 50,000 cap — one file may not list more than 50,000 URLs or child sitemaps. Copy the report or download a CSV of issues.
This is not Google Search Console and not an XSD-only checker. The product is a sitemap XML validator that never sends your unpublished URL list to a third-party server.
Close the tab and the bytes are gone.
FAQ
Why did a file that “looks fine” still fail?
Browsers and IDEs only check XML well-formedness. A sitemap also needs protocol fields. A changefreq of sometimes, a priority of 1.5, or a loc of /about will parse as XML and still be rejected by crawlers.
Do you crawl the URLs?
No. The validator never fetches loc. It only reads the document you pasted. Broken links and robots.txt blocks are out of scope.
Can I validate a sitemap index?
Yes. A sitemapindex must contain <sitemap><loc>…</loc></sitemap> children, not <url> rows. Mixing the two roots is an error.
Do you upload my sitemap?
No. DOMParser and the protocol rules run locally. There is no account. Do not paste private staging hosts into a tool you do not control; this one at least never leaves the tab.