Sitemap Validator

Sitemap validator: check XML sitemaps and robots.txt files for errors, broken URLs, and format problems before search engines crawl them. Free, no signup.

Client-side only Nothing stored No account needed
Last verified July 2026

Validation runs locally. For security and CORS reasons this tool validates pasted XML rather than fetching arbitrary remote URLs.

Calculated in your browser; your inputs are not sent to us. Privacy

Results update when you run the tool.

Output will appear here.
Ask an AI to explain this result
Share this result

This tool processes the selected input in your browser. Review the output before relying on it; format and file behavior can vary by browser and source data.

Your inputs and results stay in this browser. This page may send privacy-bounded aggregate interaction events described in Privacy; it does not send your entered values or result contents.

Use this result

Share the current inputs or ask ChatGPT to explain the calculation in context.

More options
Report a calculation issue
Direct answer

What does this converter do?

Sitemap validator: check XML sitemaps and robots.txt files for errors, broken URLs, and format problems before search engines crawl them. Free, no signup.

Sitemap validator output counting 2 URLs with 1 invalid ftp entry
2 URLs checked, 1 invalid ftp entry caught
Transparent methodology

How this calculator works

Frequently asked questions

What is a sitemap validator?

A sitemap validator is a free, browser-based tool that checks your XML sitemap for errors like broken links, missing tags, or invalid formats without requiring any signup or data storage.

Do I need to create an account to use the sitemap validator?

No, the sitemap validator runs entirely in your browser, no signup, no server upload, and your data never leaves your device.

Is my sitemap data kept private?

Absolutely. The sitemap validator processes everything locally in your browser, so no data is transmitted or stored anywhere.

Cite this tool

BoringToolsKit. “Sitemap Validator.” boringtoolskit.com/sitemap-validate/. Free to reference in articles, syllabi, and answer posts with a link.

Privacy: Inputs and results stay in this browser. Any future sponsored recommendation or advertisement will be clearly labeled and kept separate from the calculation.

Worked example: counting URLs in a small sitemap

Paste this two-entry sitemap and press Run. The parser reads the root element (urlset), collects every loc node, and checks each one by constructing a URL object. Entry 1 is https://boringtoolskit.com/apy-calculator, which passes the protocol test. Entry 2 is ftp://example.com/page, which fails because the regex ^https?:$ does not match the ftp protocol. The URL constructor itself never throws for either entry, so both reach the regex check.

The output shows: Root element urlset, Recognized sitemap type Yes, URLs found 2, Invalid URLs 1, followed by the failing ftp line. If you swap the root tag to <sitemapindex> with two <loc> child entries pointing at sub-sitemaps, the same math applies: locs.length counts 2 and allowed becomes true, since the script accepts both urlset and sitemapindex roots. A root named <urlset2> or a plain <rss> feed would show Recognized sitemap type No while still counting its loc elements, so you can see the counts and the verdict disagree rather than the script hiding either number.

Limits the checker will not catch

XML well-formedness is a narrow bar. The DOMParser with the application/xml type rejects mismatched tags and bad entities but not schema violations: a urlset missing the required xmlns namespace still parses, shows Recognized sitemap type Yes, and counts its URLs. Google ignores sitemaps over 50,000 URLs or 50 MB uncompressed, and this tool happily reports 50,000 found with zero invalid. Similarly, a loc pointing at a 404 page is a perfectly valid https URL, so invalid URLs stays 0 even though the URL is dead.

Real-world framing: if you manage a 40,000-URL site, split into eight sitemaps of 5,000 entries, validate each paste separately and add the counts yourself; the tool has no cross-paste memory. Also note that entity-encoded ampersands are common in query strings. A loc containing /search?q=x&amp;p=2 decodes to /search?q=x&p=2 inside the loc text, which is correct, while a raw unescaped & would be rejected as invalid XML before any URL check runs. If validation fails on a file that looked fine, the first error line shown is usually pointing at exactly that ampersand.