Sitemap Validator

Validate XML sitemaps against the sitemaps.org protocol. Catches structural errors, malformed dates, duplicate URLs, oversized files and more.

Note: the target server must allow cross-origin requests (CORS). If blocked, download the file and use the Upload tab.

Idle

Errors (0)

    Warnings (0)

      URLs

      About sitemaps

      • An XML sitemap helps search engines discover and crawl pages on your site. The official protocol is at sitemaps.org.
      • A single sitemap can contain up to 50,000 URLs and must be no larger than 50 MB uncompressed. Use a <sitemapindex> for larger sites.
      • Each <url> requires a <loc> element with an absolute URL up to 2,048 characters. Optional fields: <lastmod> (W3C datetime), <changefreq> (always, hourly, daily, weekly, monthly, yearly, never), <priority> (0.0 to 1.0).
      • Special characters in URLs must be entity-escaped: &&amp;, '&apos;, "&quot;, >&gt;, <&lt;.
      • All URLs in a sitemap must come from the same host and protocol as the sitemap location itself.

      Frequently asked questions

      Which sitemap formats are supported?

      Standard XML sitemaps and sitemap index files following the sitemaps.org schema. Plain text and RSS sitemaps are out of scope.

      What is the maximum sitemap size?

      Search engines accept up to 50,000 URLs or 50 MB uncompressed per file. The validator flags sitemaps that exceed either limit and suggests splitting into a sitemap index.

      Why does my sitemap pass here but fail in Search Console?

      This validator checks structure and syntax. Search Console also verifies that URLs are accessible, return 200, and are not blocked by robots.txt, which we cannot fully test from a browser.

      Should I include lastmod and priority tags?

      Including accurate <lastmod> is highly recommended; Google explicitly uses it. <priority> and <changefreq> are mostly ignored by Google but still valid.

      What a sitemap does, and the limits the protocol imposes

      An XML sitemap is an inventory you hand to crawlers: every URL you consider canonical and worth indexing. It does not guarantee indexing... Google treats it as a hint... but it is the main way large or weakly-linked sites get fully discovered. The protocol caps a single file at 50,000 URLs and 50 MB uncompressed; beyond that you split into multiple sitemaps tied together by a sitemap index file. Every URL must be absolute, use the same protocol and host as the sitemap location, and be XML-escaped (an unescaped & in a URL is the most common validation failure in the wild).

      Fields that matter and fields that do not

      • <loc> is the only required field, and effectively the only one Google relies on.
      • <lastmod> is used when it is consistently truthful. Stamping every URL with today's date on every deploy teaches crawlers to ignore yours.
      • <priority> and <changefreq> are publicly documented by Google as ignored. Keeping them is harmless; relying on them is wishful thinking.

      Hygiene that pays off in Search Console

      A sitemap should list only canonical, indexable, 200-status URLs. Including redirects, 404s, noindexed pages or URLs whose canonical points elsewhere creates the "submitted but not indexed" noise that makes Search Console reports unreadable. Reference the sitemap in robots.txt, resubmit after structural changes, and re-validate whenever a build pipeline touches URL generation... broken XML fails silently from the outside, and a sitemap nobody can parse is indistinguishable from no sitemap at all.

      Advertisement