XML Sitemap Validator

Validate a sitemap.xml for schema compliance and detect malformed entries

Parses a pasted sitemap.xml or sitemap index, validates absolute loc URLs, lastmod ISO 8601 dates, changefreq enum values, and priority range against the sitemaps.org 0.9 schema. Browser-only, nothing uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

Which schema is checked?

The sitemaps.org 0.9 protocol used by Google and Bing. It validates that each url has an absolute loc, a well-formed lastmod, a changefreq from the allowed enum, and a priority between 0.0 and 1.0.

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 absolute http or https URL 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 of always, hourly, daily, weekly, monthly, yearly, or never.
  • <priority> must be a number between 0.0 and 1.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> date2026-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> valueoften 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.