Sitemap Validator
How it works
The root element must be <urlset> or <sitemapindex>.
For a <urlset>, every <url> needs exactly one
non-empty, absolute <loc>; an optional <lastmod> must
parse as a date, an optional <changefreq> must be one of the values the
protocol defines, and an optional <priority> must be a number from 0.0 to
1.0. A <sitemapindex> is checked the same way, but only for each
<sitemap> entry's <loc>. This checks structure only —
it never fetches any URL the sitemap lists.
Frequently asked questions
What makes a sitemap invalid, versus just a warning?
A missing or malformed <loc> (no absolute URL, or the wrong number of them), or a root element that is neither <urlset> nor <sitemapindex>, is an error — search engines cannot use that entry, or the whole file, at all. A slightly-off <lastmod> or an unrecognised <changefreq> is only a warning: search engines are generally tolerant of those and largely treat them as hints rather than requirements.
What is the 50,000-URL limit about?
The sitemap protocol caps a single sitemap file at 50,000 URLs (and 50MB uncompressed). A site with more pages than that splits its URLs across several sitemap files and lists all of them in a sitemap index file — a <sitemapindex> of <sitemap> entries — which this tool can also validate.
Does this check whether the URLs actually work?
No — this checks structure only: is the XML well-formed, is every <loc> a real absolute URL, are the optional fields shaped correctly. Confirming a URL actually returns 200 would mean fetching every one of them, and this tool deliberately makes no outbound network requests at all, consistent with the rest of this site.