XML Sitemap Validator
Validate XML sitemaps against the sitemaps.org schema. Checks URL count, file size, lastmod ISO 8601, changefreq enum, and priority range. Recursively validates sitemap-index files.
Interactive tool
XML
Validation
LiveWhat is the XML Sitemap Validator?
A free validator for XML sitemaps and sitemap-index files against the sitemaps.org schema. It checks every required and optional field, catches the limits Google and Bing enforce silently (50,000 URLs, 50 MB file size, 2,048-character loc), and recurses into sitemap-index files so you can validate a multi-sitemap setup in one shot.
How to Use the Sitemap Validator
- 1Paste your sitemap XML or fetch it from a live URL
- 2Read the live validation result: errors, warnings, and informational notes
- 3For sitemap-index files, click "Validate up to 10 children" to recurse
- 4Fix any errors flagged, then re-validate
- 5After deploying, submit the validated URL to Google Search Console > Sitemaps
Key features
sitemaps.org schema
Validates against the canonical 0.9 schema: the same one Google and Bing enforce
Limit checks
50,000 URLs per file, 50 MB file size, 2,048-char loc length, all enforced inline
Field-level validation
ISO 8601 lastmod, changefreq enum, 0.0 to 1.0 priority, http(s) loc: every required and optional field is checked
Sitemap-index recursion
Detects <sitemapindex> root and validates up to 10 child sitemaps via our SSRF-safe backend
XML namespace check
Warns when the xmlns attribute is missing or incorrect: a common cause of silent rejection
URL list explorer
Browse every <loc> in the sitemap with its lastmod alongside, up to the first 200 entries
Fetch from URL
Hit any /sitemap.xml URL via our SSRF-safe backend: non-public addresses and oversize bodies are blocked
Why Validate a Sitemap?
Search engines treat sitemap errors silently. A malformed lastmod, an unsupported changefreq value, or a sitemap that creeps past 50,001 URLs is not flagged with a popup. It is just quietly skipped or partially indexed. By the time you notice in Search Console, weeks of crawl budget have been wasted. Validating before you deploy is the cheapest insurance you can buy. The sitemaps.org schema is short and stable; this tool implements it exactly.
Common use cases
- Pre-deploy QA on auto-generated sitemap output
- Diagnosing why specific URLs aren't being indexed in Search Console
- Verifying multi-language sitemaps that use <xhtml:link> alternates
- Confirming a sitemap-index file references valid child sitemaps
- Catching CMS or framework bugs in lastmod formatting
- Auditing competitor sitemaps to see how they structure their content
Sitemap-index basics
When a single sitemap exceeds 50,000 URLs or 50 MB, you split it into multiple sitemaps and reference them from a sitemap-index. The index itself can list up to 50,000 child sitemaps. Search engines fetch the index once, then crawl children as needed.
Why we limit recursion to 10 children
Our backend rate-limits per-IP requests to keep the service responsive for everyone. Validating a sitemap-index with thousands of children would exhaust that budget for shared connections. Ten is enough to spot-check a representative sample; for full crawls, validate child sitemaps individually.
Optional fields and what Google actually does
- lastmod. Google reads it. ISO 8601 only. Bad format = field is silently ignored.
- changefreq. Google ignores it. Bing reads it. Use it if you also care about Bing.
- priority. Google ignores it. Bing reads it. Default is 0.5.
- Conclusion: focus on accurate lastmod first; the others are nice-to-have.
Common errors this tool catches
- Wrong xmlns ("…sitemap/0.8" instead of "…sitemap/0.9", or missing entirely)
- lastmod in non-ISO format ("2026/05/10" instead of "2026-05-10")
- changefreq spelt with a typo ("weakly", "biweekly", etc.)
- priority outside 0.0 to 1.0
- Relative or non-http loc URLs
- urlset with zero URLs
- sitemapindex pointing at non-existent or wrong-protocol child sitemaps
Tips & best practices
Update lastmod accurately
Lying about lastmod (always returning "today") trains Google to ignore it. Set it to the real last-content-change date.
Keep one canonical version
List only the canonical URL of each page. Don't list both example.com/foo and example.com/foo/.
Mind the 50 MB cap
The 50 MB limit is uncompressed. If you serve sitemap.xml.gz, the gz still has to decompress under 50 MB.
Submit to Search Console
Validation is necessary but not sufficient: the sitemap also has to be discoverable. Submit it in Search Console > Sitemaps and reference it from /robots.txt.
Check the live URL after CDN
Some CDNs strip XML declarations or alter the Content-Type. Always re-validate the live response, not just the source.
Privacy & security
Paste mode runs entirely in your browser. Fetch and recursive validation send only the sitemap URL(s) to our SSRF-safe backend, which applies non-public-address blocking and a response size cap. The URL is not logged.
Related tools
- Robots.txt Generator
Build a robots.txt file with a per-rule editor: pick user-agents, Allow/Disallow patterns, crawl-delay, sitemaps, and the optional host directive. Three starter presets and live validation.
SEO Tools
- Robots.txt Tester
Test whether a list of URLs are allowed or blocked by a robots.txt file, across multiple user-agents. RFC 9309-compliant matching with rule and line attribution. Paste content or fetch from any domain.
SEO Tools
- URL Normalizer
Bulk-normalise URLs against RFC 3986: lowercase scheme/host, strip default ports, remove dot segments, canonicalise percent-encoding, dedupe and sort query parameters, and optionally strip tracking parameters.
SEO Tools
- CSP Nonce & Hash Generator
Generate cryptographically-random CSP nonces and SHA-256/384/512 hashes for inline <script> and <style> sources. Bulk-hash several inline snippets at once.
SEO Tools
- Video Compressor
Shrink mp4, webm, and mov videos right in your browser with ffmpeg.wasm. Choose a target preset (web 720p / 1080p, Discord 25 MB, Twitter 512 MB) or set a custom H.264 CRF: your files never leave the device.
Video Tools
- Video Trimmer
Trim mp4, webm, mkv, and mov videos in your browser with ffmpeg.wasm. Lossless (-c copy) for instant cuts at keyframes, or frame-accurate re-encode when you need precision. No upload, no signup.
Video Tools
Frequently Asked Questions
Which sitemap format does this validate?
The sitemaps.org 0.9 schema (xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"), supporting both <urlset> and <sitemapindex> root elements. RSS, Atom, and text-list sitemaps are not supported.
What limits does the sitemaps.org spec enforce?
50,000 URLs per sitemap and 50 MB uncompressed file size. Each <loc> must be ≤ 2,048 characters. Sites that exceed these limits should split into multiple sitemaps and reference them from a sitemap-index.
Does Google use changefreq and priority?
Google ignores both and only reads <loc> and <lastmod>. Bing still reads changefreq and priority. The validator flags malformed values for both because Bing-only sites still benefit, and Google may add support for them later.
How does sitemap-index recursion work?
When the root element is <sitemapindex>, the validator lists every child <sitemap>. Click "Validate up to 10 children" to fetch each child sitemap via our SSRF-safe backend and run the same validation against it. The 10-child limit keeps shared rate budgets healthy.
Are private IP ranges blocked when fetching?
Yes. Our backend refuses any URL that resolves to a non-public address (loopback, private, link-local, or otherwise internal), and enforces a response size cap to prevent abuse.
My sitemap has UTF-8 BOM: does that fail validation?
A leading BOM is silently tolerated by the parser. Some older crawlers reject sitemaps with a BOM, so it is best to omit it.