SEO
XML Sitemap Validator
Detect structure errors, invalid URLs, incorrect date formats and duplicates in your sitemap. Supports both urlset and sitemapindex.
Any AI today can explain what an XML sitemap is in seconds. But not everyone has a paid plan, tokens available all the time, or knows how to ask for it properly. This validator exists for that: a real check of your own sitemap, instantly — and further down, we explain how it tells errors apart from warnings.
Only https:// URLs are allowed. The sitemap is fetched on the server and not stored.
Paste the full content of your XML sitemap.
Processing…
How validation works under the hood
Error vs. warning — they're not the same
error = broken minimum structure (invalid XML, missing <loc>, <loc> isn't a URL) — warning = structure is fine but deviates from a recommendation (namespace, date format, priority range)
— A sitemap with errors probably can't be read by Google at all. A sitemap with only warnings can still be read, but Google may ignore the value of that specific field — for example, a lastmod with an invalid format simply won't be used as a crawl signal, even though the rest of the sitemap works fine.
Accepted lastmod formats
YYYY-MM-DD, or YYYY-MM-DDThh:mm:ssZ (or with a ±hh:mm offset), or YYYY-MM-DDThh:mmZ
— Valid example: 2026-07-18 or 2026-07-18T14:30:00-04:00. A common mistake is writing the date as 18/07/2026: it doesn't match any of the 3 accepted formats and triggers a warning.
SSRF protection when validating by URL
when validating from a URL, private/reserved IP ranges are blocked and DNS resolution is pinned before downloading
— This is a security safeguard that's hard to notice but very real: without it, someone could try to use the validator to make the server connect to internal network addresses (192.168.x.x, 10.x.x.x, 127.0.0.1, etc.) disguised behind a public domain. That's why the validator resolves DNS only once, checks that the IP is public, and forces that same IP during the actual download — so an attacker can't swap the DNS response between the check and the download (an attack known as "DNS rebinding").
Frequently asked questions
An XML sitemap is a file that tells search engines — Google, Bing, etc. — which pages exist on your site and which ones are most important. It is not required for your pages to appear in Google, but it is very helpful when the site is large, has pages with few internal links, or content is updated frequently. The standard is defined by sitemaps.org and Google has supported it since 2005.
urlset is the regular sitemap: it contains a list of URLs on your site (maximum 50,000 per file and 50 MB uncompressed). sitemapindex is a file that points to other sitemaps — useful when you have more than 50,000 URLs or want to organize your sitemap into sections (posts, products, categories). Google reads the sitemapindex first and then downloads each referenced sitemap independently.
- lastmod — the date of the page's last modification (YYYY-MM-DD format). This is the most useful field: Google uses it as a signal to decide when to re-crawl that URL. If it is inaccurate, it loses its value.
- changefreq — how often the page changes:
always,hourly,daily,weekly,monthly,yearly,never. Google treats it as a hint, not an instruction. - priority — the relative importance of the URL within your site, between
0.0and1.0(default0.5). It only makes sense within your own site; Google does not compare it across different sites.
Google may reject or ignore a sitemap with XML format errors, incorrect namespaces or malformed URLs. This does not mean your pages disappear from the index — Google can find them through other means — but the sitemap stops fulfilling its main purpose: guiding the crawler to the content that matters to you. Issues like duplicate URLs or out-of-range
priority values (e.g. 1.5) also generate warnings in Google Search Console.
The most common locations are
https://yourdomain.com/sitemap.xml and https://yourdomain.com/sitemap_index.xml. WordPress with Yoast SEO places it at /sitemap_index.xml; Rank Math also uses /sitemap_index.xml. Shopify generates it automatically at /sitemap.xml. If you cannot find it, check your site's robots.txt file: the Sitemap: line indicates the exact URL.
Each sitemap file can contain up to 50,000 URLs and weigh a maximum of 50 MB uncompressed (or 50 MB compressed as .gz). If your site exceeds that number, you must use a sitemapindex pointing to multiple sitemap files. You can have up to 500 sitemaps in an index. These figures apply per sitemap, not per site.
If your sitemap is published as a compressed file (
sitemap.xml.gz), this tool doesn't automatically decompress it when validating by URL — it will receive the compressed binary content and report it as invalid XML. The fix is to decompress the file yourself (with any tool that unzips .gz files) and paste the resulting XML into the "Paste XML" tab.
No — this tool validates the structure of the standard sitemaps.org protocol (
loc, lastmod, changefreq, priority), but it doesn't validate extensions like the hreflang tags (xhtml:link) used by multilingual sites. A sitemap with misconfigured hreflang can pass this validation with no warnings, even if it has language-targeting errors that tools like Google Search Console do detect.
This tool only validates the XML file's structure per the sitemaps.org protocol: that the XML is valid, that each URL has a
<loc>, that dates and values have the correct format. Google Search Console goes further: it also checks whether each individual URL responds with a 200 status code, whether it's blocked by robots.txt, whether it has a noindex tag, or whether it declares a different canonical URL. A sitemap can pass this validation with no errors and still have URLs flagged as problematic in Search Console, because they're two different layers of verification.