Header title

XML Sitemap Validator & URL Syntax Checker

Validate XML sitemaps and sitemap index files instantly. Check 50k URL limits, W3C Datetime syntax, hreflang tags, media schemas, and Google Search Console errors.

Lbl byte size 967 BLbl health rating 100/100
Lbl presets
Lbl standard engine
Lbl profile
Lbl line endings
Title xml input<urlset>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Lbl line count 26Lbl char count 967Lbl byte size 967 B
Lbl bom none
Lbl total urls0Lbl max50k
Lbl fatal errors0Lbl rfc violations
Lbl warnings0Lbl seo insecure
Lbl notices0Lbl recommendations
Lbl pipeline titleLbl health score: 100/100
Node lexer967 BNode parserProfile urlsetNode url validator0 Lbl unit urlsNode hreflang matrixNode hreflang reciprocity100%Lbl grade A
Lbl compliance checklist
Chk xml well formedLbl pass
Chk namespaceLbl pass
Chk url count limitLbl pass
Chk byte size limitLbl pass
Chk w3c datetimeLbl pass
Chk priority rangeLbl pass
Chk changefreq enumLbl pass
Chk hreflang reciprocalLbl pass
Lbl validated urls 0Lbl issue count 0
Lbl health rating100/100 (A)
Stat urls title

Stat urls desc

Stat health title

Stat health desc

Stat issues title

Stat issues desc

Client-Side Processing

High-performance calculation executed entirely in browser memory.

Zero Server Upload Privacy

All payloads remain strictly local with zero external server communication.

Production Ready Export

Clean, optimized output formats ready for immediate deployment.

Technical Reference & Architecture Guide

XML Sitemap Validator & URL Syntax Checker Guide

Validate XML sitemaps and sitemap index files instantly. Check 50k URL limits, W3C Datetime syntax, hreflang tags, media schemas, and Google Search Console errors.

XML Sitemap Validator & URL Syntax Checker Guide — Client-Side In-Memory Architecture & Data Flow
XML Sitemap Validator & URL Syntax Checker Guide — Client-Side In-Memory Architecture & Data Flow

Key Parameters & Controls

<loc> Canonical URL TargetURI (RFC 3986)

Mandatory URL location element. Must begin with an explicit protocol scheme (https:// recommended), contain strictly percent-encoded non-ASCII characters, and remain under the 2,048-byte total path length ceiling.

Default: https://example.com/page
<lastmod> W3C Datetime StampISO 8601 / W3CDTF String

Optional modification timestamp following W3C Datetime syntax: either date-only (YYYY-MM-DD) or combined UTC/offset timestamp (YYYY-MM-DDThh:mm:ss+00:00). Sub-second fractions are ignored by search crawlers.

Default: 2026-10-31
<priority> Crawl Significance RatioFloat Range (0.0 to 1.0)

Relative priority metric expressed as an IEEE 754 decimal string between 0.0 and 1.0. Completely ignored by modern Googlebot, but evaluated by legacy regional search crawlers.

Default: 0.5
<changefreq> Update Cadence HintEnumerated Token

Advisory update frequency strictly restricted to 7 tokens: always, hourly, daily, weekly, monthly, yearly, never. Crawlers override this hint using historical HTTP ETag and Last-Modified header telemetry.

Default: weekly
Single File URL Hard LimitInteger Threshold

Maximum permissible number of <url> or <sitemap> entries in a single XML payload before requiring multi-file partitioning via a master <sitemapindex> container.

Default: 50,000 URLs
Uncompressed File Size CeilingData Byte Volume

Maximum uncompressed payload capacity accepted by Google Search Console and Bing Webmaster Tools. Gzipped sitemaps are decompressed prior to validating this threshold.

Default: 50 MB (52,428,800 bytes)

Pro Tips & Best Practices

Always Escape Ampersands in Query Parameters

Writing raw '&' characters inside <loc> URLs immediately triggers a fatal XML well-formedness error ('EntityRef: expecting ;'). All query parameter delimiters in XML sitemaps must be entity-encoded as '&amp;' (e.g., 'https://example.com/search?q=seo&amp;sort=asc') or percent-encoded as '%26'. Search engine parsers decode '&amp;' back to '&' prior to dispatching HTTP crawl requests.

Enforce Strict Hreflang Reciprocity with x-default Fallbacks

Google requires bidirectional reciprocal confirmation for international SEO sitemaps. If Page A (en) references Page B (de) via an <xhtml:link> alternate tag, Page B's entry must explicitly reference Page A (en). Failure to establish a two-way reciprocal link causes search crawlers to disregard the hreflang annotation for both locales to prevent third-party spoofing.

Use Cryptographic Content Hashes to Derive Deterministic Lastmod

Do not automate <lastmod> updates to reflect the current deployment timestamp or daily cron execution. Google Search Console monitors timestamp credibility; if <lastmod> changes without measurable DOM content or semantic HTML diffs, Googlebot demotes the sitemap's priority signals and reverts to heuristic crawl scheduling. Compute a SHA-256 hash of the page body and only advance <lastmod> when the hash mutates.

Sitemap Index Files Must Not Nest Recursively

The Sitemaps.org protocol prohibits recursive sitemap index hierarchies. A <sitemapindex> master document may only point directly to child <urlset> sitemaps. Placing a <sitemapindex> URL inside another <sitemapindex> produces an 'Unsupported file format' or 'Nested sitemap index' fatal error in Google Search Console and Bing Webmaster Tools.

Common Gotchas & Troubleshooting

⚠️XML Parsing Error: XML or text declaration not at start of entity

Ensure there are no leading spaces, empty blank lines, or hidden UTF-8 Byte Order Marks (BOM, hex sequence 0xEF, 0xBB, 0xBF) preceding the opening '<?xml version="1.0" encoding="UTF-8"?>' prologue. RFC 7303 mandates that the XML declaration must begin at byte offset 0; any leading whitespace causes parser failure.

⚠️Google Search Console Reports: 'Invalid Date Format'

Verify that timestamps adhere strictly to W3CDTF syntax. Common failure modes include writing '2026-10-31 14:00' (space separator instead of 'T'), omitting the UTC timezone colon (e.g. '+0000' instead of valid '+00:00' or 'Z'), or appending non-standard local timezone abbreviations like 'EST' or 'CET'.

⚠️Cross-Domain URLs Flagged as 'Disallowed URL Protocol or Domain'

By default, all <loc> URLs inside a sitemap must match the protocol, host, and port of the sitemap host itself (e.g., a sitemap at 'https://example.com/sitemap.xml' cannot contain 'https://blog.example.com/page' or 'http://example.com/page'). To index cross-domain URLs, you must verify domain ownership for both hosts under a single consolidated Domain Property in Google Search Console.

⚠️DOMParser Out-of-Memory Crash on Large 50,000-URL Sitemaps

Parsing a raw 50 MB XML document via browser-native DOMParser instantiates an in-memory DOM tree consuming 200 MB to 400 MB of heap memory, triggering Garbage Collection freeze. Process large payloads using a streaming token parser or a chunked regex scanner with O(n) linear execution time and bounded O(1) auxiliary buffer allocation.

Frequently Asked Questions

What are the hard size and URL limits for Google XML sitemaps?▼

A single XML sitemap file cannot exceed 50,000 URLs or 50 MB (52,428,800 bytes) in uncompressed form. If a site exceeds either ceiling, URLs must be partitioned across multiple shard sitemaps (e.g., sitemap-1.xml, sitemap-2.xml) indexed by a master <sitemapindex> document. When compressing sitemaps using gzip (.xml.gz), the compressed transfer size is typically 2 MB to 8 MB, but the uncompressed payload buffer must remain strictly under 50 MB to prevent crawler rejection.

What is the correct W3C Datetime format for sitemap lastmod?▼

Sitemap <lastmod> timestamps must conform to W3CDTF (W3C Note-DATETIME, a strict profile of ISO 8601). Only two syntactic representations are valid: date-only 'YYYY-MM-DD' (e.g., '2026-10-31') or full timestamp with mandatory timezone designator 'YYYY-MM-DDThh:mm:ss+00:00' (or UTC 'Z'). Omitting the timezone offset, replacing 'T' with a space ('2026-10-31 14:00'), using Unix epoch integers, or formatting with slash separators ('2026/10/31') invalidates the entire node in Google Search Console.

What is the difference between an XML sitemap and a sitemap index file?▼

An XML sitemap uses the <urlset> root tag conforming to the http://www.sitemaps.org/schemas/sitemap/0.9 namespace and contains individual web page <url> leaf elements. Conversely, a sitemap index uses the <sitemapindex> root tag and contains <sitemap> entries that point solely to other XML sitemap URLs. A sitemap index cannot contain <url> nodes, and child sitemaps cannot nest further <sitemapindex> nodes, enforcing a strict 1-level hierarchical crawling topology.

Does Google still use priority and changefreq tags in XML sitemaps?▼

Googlebot officially ignores both <priority> and <changefreq> tags during crawling, indexing, and ranking. Google crawl systems rely primarily on algorithmic recrawl schedulers informed by real HTTP response headers (such as ETag, Last-Modified, and 304 Not Modified), internal page centrality, and verified <lastmod> accuracy. While <priority> and <changefreq> remain valid per the Sitemaps.org 0.9 schema, modern SEO pipelines can safely omit them to reduce file transfer payload size by up to 35%.

How do you correctly format hreflang alternate links inside an XML sitemap?▼

Embedding hreflang links requires declaring the XHTML namespace xmlns:xhtml="http://www.w3.org/1999/xhtml" on the <urlset> root element, then nesting <xhtml:link rel="alternate" hreflang="[code]" href="[url]" /> elements inside each <url> container. Every indexed page must provide a reciprocal entry pointing to itself, an alternate link for every localized sibling page, and a dedicated hreflang="x-default" link directing unmapped regional traffic to a generic landing page.

Related Tools & Utilities

All Tools →