Paste an XML sitemap and check it against the specification: namespace, required tags, the 50,000 URL and 50 MB limits, duplicate entries, date formats, and the mixed-protocol errors that quietly stop pages being indexed. Everything runs in your browser.
XML Sitemap Validator
LiveSitemaps on this same domain load directly. Other domains usually block browser requests for security — if that happens, use Paste XML instead.
What gets checked
| Check | Why it matters |
|---|---|
| XML parses | An unescaped & in a URL is the most common cause of a sitemap failing outright |
| Correct namespace | Must be http://www.sitemaps.org/schemas/sitemap/0.9, or the file is not recognised as a sitemap |
Every entry has <loc> | The only required child. An entry without one is silently skipped |
| Absolute URLs | Relative paths are invalid in a sitemap and are ignored |
| 50,000 URLs / 50 MB | Past either limit the file is rejected and you need a sitemap index |
| Duplicates | Wastes crawl budget and usually signals a generation bug |
| Mixed protocol or domain | URLs must share the scheme and host of the sitemap's own location |
| Date format | lastmod must be W3C datetime - 2026-01-15 or with a time and offset |
| changefreq / priority values | Invalid values are ignored; so, in practice, are valid ones (see below) |
Beyond validation: what the analysis tells you
A sitemap that passes validation can still be quietly working against you. Two patterns matter more than any syntax error:
Freshness distribution. If every URL carries the same lastmod, or every one was "modified" today, the field is noise and crawlers learn to ignore it for your site. A healthy distribution has recent dates on pages you actually changed and older dates on pages you didn't. The breakdown below shows you which pattern yours has.
URL depth. Pages buried four or five levels deep are crawled less often and pass less internal link value. A depth histogram makes an over-nested structure obvious in a way that browsing the site never does - and it is one of the cheapest structural problems to fix.
The thing most sitemap guides won't tell you
Google ignores <changefreq> and <priority> entirely. Both have been publicly described as unused for years - priority in particular, because virtually every site set every page to 1.0 and the signal became worthless. This tool still validates their syntax, since an invalid value is a genuine spec error, but optimising them is time you won't get back.
<lastmod> is the exception: Google does use it, on condition that it's accurate. A sitemap that stamps every URL with today's date on every regeneration teaches the crawler that the field is meaningless, and it stops being trusted for that site. If you can't produce a real modification date, omitting the tag is better than faking one.
Step-by-step guide
- Fetch your live sitemap first. Open
yoursite.com/sitemap.xml, view source, and copy what's actually being served - not what your generator is supposed to produce. The gap between those two is where most problems live. - Fix errors before warnings. A parse failure or missing namespace means the entire file is unusable; a duplicate URL only wastes some crawl budget.
- Check a sitemap index separately. If your root file is a
<sitemapindex>, this tool validates the index itself. Each child sitemap needs checking on its own. - Submit in Search Console and read the report. It shows how many URLs Google actually discovered versus how many you listed - and that difference is the number that matters.
Common mistakes
?a=1&b=2 must be written ?a=1&b=2 inside the XML. Left raw, the file fails to parse and every URL in it is lost - not just the one with the error.Frequently asked questions
Is anything I paste uploaded?
No. Parsing uses your browser's own XML parser and runs entirely locally, with no server request and nothing stored. That's a real difference from URL-based validators, which necessarily send your sitemap to a third party - relevant if it lists staging URLs or unreleased pages.
Do I need a sitemap at all?
A small, well-linked site usually gets crawled fine without one - Google is good at following links. Sitemaps earn their place when a site is large, when pages are poorly linked internally, when content is new and has few external links, or when you want the lastmod signal. They help discovery; they don't guarantee indexing.
How many sitemaps do I need?
One file holds up to 50,000 URLs and 50 MB uncompressed, so most sites need exactly one. Beyond either limit, split into multiple files and list them in a sitemap index. Splitting by content type - posts, pages, products - is also useful below the limit, because Search Console then reports indexing per group rather than as one number.
Should I set priority values?
Google ignores them, so no. The tag is part of the specification and this tool validates its syntax, but tuning the numbers changes nothing about how your site is crawled or ranked. The same applies to changefreq. Effort is better spent on lastmod accuracy, which is used.
Where should the sitemap file live?
Conventionally at /sitemap.xml, though any path works as long as you reference it from robots.txt and submit it in Search Console. One rule does bind: a sitemap can only list URLs at or below its own directory level, so a file in a subfolder cannot list pages outside that subfolder.
Why does Search Console show fewer URLs than I submitted?
Submitting is a request, not a command. Google skips URLs it considers duplicates of a canonical elsewhere, pages of low value, and anything blocked or redirecting. A gap is normal; a large one usually points at duplicate content or thin pages rather than at the sitemap itself.
Related tools
See the full list of Generators, or try: