Sitemap validator
Free public tool that finds your XML sitemap, checks it parses, counts your URLs including nested sitemaps, and flags the issues that hide pages.
Last updated 2026-08-06
Summary#
The Free XML Sitemap Validator looks for your sitemap at the three usual root paths, confirms the XML is well formed, counts the URLs it lists (following a sitemap index into its children), and reports the issues that stop crawlers from discovering pages. It runs at /free-tools/sitemap-validator with no account.
Purpose#
A sitemap is the list you hand crawlers so they do not have to guess what exists on your site. It fails quietly. Nobody gets an alert when a deploy publishes malformed XML, when a sitemap index points at a 404, or when a migration leaves the file listing the old URLs. The pages simply stop being discovered.
This validator is the thirty-second check that catches all three.
Overview#
The tool tries /sitemap.xml, then /sitemap_index.xml, then /sitemap-index.xml, and uses the first that responds successfully. It detects whether the file is a urlset (a list of pages) or a sitemapindex (a list of other sitemaps).
For a urlset it counts every <url> entry and samples up to two hundred of them with their lastmod, changefreq and priority values. For a sitemapindex it fetches up to ten child sitemaps and adds their URL counts together, so the total you see is the real total rather than the number of child files.
It then runs five issue checks and grades the result.
Benefits#
- Finds the sitemap for you rather than making you remember which path you used.
- Reports a true URL count across a sitemap index, not just the number of child files.
- Flags the two Google limits, fifty thousand URLs and fifty megabytes, before they cost you coverage.
- Shows a sample of the actual URLs, so you can see at a glance whether the file lists what you expect.
- No account, no credits.
Use Cases#
- Post-deploy check. Confirm the sitemap still parses after a release.
- Post-migration check. Look at the URL sample and confirm the new domain and paths are what is listed.
- Diagnosing slow indexing. A sitemap that does not parse, or that Google cannot reach, explains a lot of missing coverage.
- Auditing a site you do not own. Nothing needs to be installed or verified.
Requirements#
A public domain. The sitemap must be served from one of the three root paths the tool tries, over HTTP or HTTPS.
Permissions#
Anyone. No account, plan or role. A shared hourly fair-use limit applies per IP address across the free tools.
Cost#
Free. Zero credits.
Navigation Path#
metricvaultai.com → Free tools → Sitemap Validator
The page is at /free-tools/sitemap-validator.
Inputs#
| Field | Label / placeholder | Required | Valid value | Notes |
|---|---|---|---|---|
| Domain | example.com | Yes | A bare domain or a full URL | https:// is added if omitted. Only the origin matters, because the sitemap is looked for at the root regardless of the path you type. |
Helper line: No signup · No credit card · Auto-discovers sitemap.xml and checks nested sitemaps.
Step-by-Step Guide#
- Open
/free-tools/sitemap-validator. - Enter your domain in the field marked
example.com. - Select Validate sitemap. The button reads
Validating…and the result area showsFinding and parsing your sitemap…. - Check the tier badge and the four headline numbers, then read the
Checkscard. Fix anything markedCRITICALbefore anything markedWARNING.
Reading the Results#
The verdict. A badge and the URL of the sitemap that was found:
| Badge | Meaning |
|---|---|
Valid sitemap | Well-formed XML with no issues found |
Valid with warnings | Parses, but at least one warning applies |
Problems found | The XML is not valid, or a critical issue was found |
No sitemap found | Nothing responded at the three root paths tried |
When nothing is found, the card also shows the message No sitemap found at common locations and a Tried: line listing the three paths, so you can confirm the tool looked where you expected.
The four headline numbers.
| Number | Meaning |
|---|---|
| Valid XML | Yes or No. Requires an XML declaration and a urlset or sitemapindex root |
| Type | urlset, index or unknown |
| Total URLs | Page count. For an index, the sum across the child sitemaps that were fetched |
| Issues | How many problems were found, critical and warning combined |
How to read. A note repeats the priority rule:
Green means healthy, red means action needed. Issues are ranked critical first (things that stop crawlers from reading your sitemap) then warnings, so fix the critical ones before anything else. Aim for Valid XML: Yes and Issues: 0.
Checks. Either a list of issues, each prefixed CRITICAL: or WARNING:, or the healthy state No issues detected. Your sitemap looks healthy.
| Issue text | Severity |
|---|---|
Invalid XML structure (missing <?xml?> declaration or urlset/sitemapindex root) | Critical |
urlset found but no <url> entries | Critical |
Over 50,000 URLs in a single sitemap (Google limit) | Warning |
Sitemap over 50MB uncompressed (Google limit) | Warning |
Over half of URLs are missing <lastmod> | Warning |
Nested sitemaps (N). Present only for a sitemap index. Up to twenty-five rows, each showing a child sitemap URL, its URL count and either OK or HTTP <status>. A child that returns anything other than 200 is contributing nothing.
URL sample (N of M). Up to twenty rows, each a URL from the sitemap with its lastmod value, or a dash where none is set. Use this to confirm the file lists the URLs you expect on the domain you expect.
Examples#
Example: A publisher validates and gets Valid with warnings, Total URLs 41,208, Issues 1. The warning is Over half of URLs are missing <lastmod>. The CMS was omitting the element on older posts, which costs the crawler its best signal about what changed. Adding lastmod clears the warning.
Example: A store migrated last month and gets Valid sitemap, Issues 0, but the URL sample shows the old /shop/ paths. The XML is fine and the content is wrong, which no automated check can flag. Reading the sample is what catches it.
Screenshots#
" and "URL sample (N of M)" cards with their per-row status and lastmod values.)
Tips#
- Hover the
imarker beside each headline label for a sentence on what the number means and what a healthy value looks like. - If your Total URLs is far below the pages you know you have, look at the Type. An index whose children failed to fetch reports only what it could count.
- Declare the sitemap in
robots.txtas well. robots.txt checker checks for that line and confirms the declared URLs respond. - Re-run after every deploy that touches routing or content generation.
Best Practices#
- Split before you hit the limits, not after. Fifty thousand URLs and fifty megabytes are the ceilings, and a sitemap index of smaller files is easier to debug anyway.
- Set
lastmodhonestly. A file where every entry claims to have changed today is worth less than one that dates entries accurately. - List only canonical, indexable URLs. Redirects,
noindexpages and duplicates in a sitemap send a mixed signal. - Keep the sitemap and
robots.txtin agreement. A URL listed in the sitemap and disallowed inrobots.txtis a contradiction crawlers resolve against you.
Common Mistakes#
- Assuming a valid sitemap is a correct sitemap. The tool checks structure, not whether the URLs are the right ones. Read the sample.
- Publishing a sitemap at a custom path only. The three paths tried are the ones crawlers and this tool look for. A sitemap only reachable at another path needs at least a
robots.txtdeclaration. - Ignoring a warning because the file "works". Half your URLs missing
lastmodstill works, and still costs you crawl efficiency. - Expecting the result to be saved. Anonymous runs are not stored.
Limitations#
- Three discovery paths only:
/sitemap.xml,/sitemap_index.xmland/sitemap-index.xml. A sitemap declared elsewhere is not found. - Sitemap indexes are followed to a maximum of ten child sitemaps, so a very large index reports a partial total.
- The URL sample is capped at two hundred entries server side and twenty rows on screen.
- Compressed sitemaps served as
.xml.gzare not among the paths tried. - The XML check is structural. It confirms a declaration and a valid root element rather than validating against the sitemaps protocol schema.
- No export, history, scheduling or recommendations panel. See Free tools, no account needed.
Troubleshooting#
| Symptom | Likely cause | Fix |
|---|---|---|
That does not look like a valid domain. Try example.com | The input is not a plausible hostname | Enter example.com |
No sitemap found with a Tried: list | No sitemap at any of the three root paths, or the server refused the request | Publish sitemap.xml at the root, or confirm it is reachable in a browser |
Check failed: <message> | The request could not be completed | Confirm the domain resolves and is up |
| Total URLs is lower than expected | A sitemap index with more than ten children, or children returning errors | Check the Nested sitemaps rows for non-200 statuses |
Valid XML: No on a file that opens fine in a browser | Missing XML declaration, or a root element that is neither urlset nor sitemapindex | Regenerate the sitemap from a tool that follows the protocol |
Hourly fair-use limit reached (100 light-tool calls/hour)… | Too many free-tool runs from one network within the hour | Wait for the next hourly reset |
FAQs#
Where does the tool look for my sitemap? At /sitemap.xml, /sitemap_index.xml and /sitemap-index.xml, in that order. The first one that responds successfully is the one validated.
Does it follow a sitemap index? Yes, up to ten child sitemaps. Their URL counts are added together into the Total URLs figure and listed individually under Nested sitemaps.
Does a clean result mean Google will index everything? No. A sitemap is a discovery aid, not an indexing guarantee. Google decides what to index on its own.
Does it submit my sitemap to search engines? No. It only reads it. Submission is done in Google Search Console; see Google Search Console.
Is it really free? Yes. No account, no card, no credits.
What does the in-app version add? Sitemap Validator in the dashboard runs the same check inside your workspace, where the result is saved to your history, can be exported and can be re-run as part of a wider audit. For whole-site crawling use Site Audit.
See also
Was this article helpful?
Thanks — feedback noted for the docs team.