XML Sitemap Validator
Free, no signup.
Nothing throws an error when a sitemap tag is malformed or lastmod has gone
stale — it just quietly stops helping discovery. Paste your sitemap, upload a file, or fetch
one by URL, and get every problem grouped by severity, with line numbers and a health score.
URL mode fetches through this site’s proxy (rate-limited). If it’s ever unavailable, paste mode always works.
Example data — replace with your own
Runs entirely in your browser — nothing you paste is uploaded or stored. Fetch by URL uses this site's proxy to retrieve the file only; validation still happens in your browser. Anonymous run-level outcome counters may be used for aggregate research; URLs, domains, IPs, and identifiers are never included, and no statistic is released below 100 runs.
Sample report Example data — real, engine-verified result
Paste a sitemap with a common mistake — an unescaped ampersand in a URL:
<url>
<loc>https://example.com/products?id=1&cat=shoes</loc>
<lastmod>2026-02-15</lastmod>
</url> …and Validate reports a score of 70, with two errors:
- Two errors, one root cause. The bare
&both breaks XML well-formedness and trips the escaping check — the parser and the per-entry rules both catch it independently, which is why it costs 30 points (15 each) — see what it checks. - Same fix for both. Encode it as
&so the URL reads?id=1&cat=shoes, then re-run — both findings clear at once. - Why this score? is not decoration — it lists exactly these two deductions so you know which fix moves the number, rather than guessing.
- Once it's clean, confirm the URLs inside actually resolve with the Bulk HTTP Status Code Checker, or read XML sitemapsAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. for what else belongs in the file.
Valid XML can still contain the wrong URLs
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://shop.example/products/trail-runner</loc></url>
<url><loc>https://shop.example/products/old-trail-shoe</loc></url>
<url><loc>https://shop.example/account/login</loc></url>
<url><loc>https://shop.example/sale/spring-2025</loc></url>
<url><loc>https://staging.shop.example/products/test</loc></url>
</urlset> This file can be structurally valid while the second URL redirects, the login page is noindexed, the campaign is expired, and the final row leaks a staging hostname. XML validation can catch the off-host entry, but status, canonical, indexability, and lifecycle checks require a crawl of the extracted URLs. Use this validator first, then send its URL inventory to the status checker. The dataset is illustrative and uses reserved `.example` domains.
How to use it
- Paste your sitemap XML, upload a file (
.xmlor gzipped.xml.gz), or fetch by URL. - Press Validate. You get a health score, a plain-English summary, and every problem grouped by severity with line numbers.
- Open Why this score? to see exactly which deductions pulled the number down.
- Export the findings as CSV or JSON, or copy a share link.
+ saves the current site or page. Use ☆ beside any saved site, page, or list to favorite it. Recent check history appears below.
Create a named list
Target filled from your local choices.
Site passport Local context for this saved site
Local data
Saved targets, named lists, and recent check summaries remain only in this browser.
Why this score?
Rate this tool
How it works
Validation runs in your browser against the sitemaps.org 0.9 schema and Google's
published rules. It parses the XML, then checks two layers: structure (well-formed
XML, correct namespace, valid root element, sitemap-index vs urlset) and per-entry
rules (absolute URLs, valid <lastmod> dates, the 50,000-URL / 50 MB limits,
escaped ampersands, and so on). Each problem is weighted, and the health score is what's left after
the deductions.
Pasted and uploaded files never leave your machine. Fetch by URL is the one mode that uses the server — only to pull the bytes, because browsers can't fetch another origin — and it's rate-limited; paste mode always works.
What it checks
- Well-formed XML and the correct sitemaps.org namespace.
- Sitemap index vs URL set, and that indexes point at real sub-sitemaps.
- Absolute, properly escaped URLs on the same host.
- Valid
<lastmod>dates in W3C format. - The hard limits: 50,000 URLs and 50 MB uncompressed per file.
- Common warnings — missing entries, unexpected tags, encoding issues.
Features
- Paste, upload (incl. gzip), or fetch by URL.
- Health score with an itemised "why" breakdown.
- Errors and warnings grouped by severity, each with a line number.
- CSV and JSON export, plus a shareable link.
- Handles large files — full structural check, with entry rules sampled over the first 5,000 entries.
- Privacy: pasted/uploaded sitemaps are validated entirely client-side.
Limitations
It validates the sitemap's format and structure — it does not crawl the URLs inside it, so it won't tell you whether those pages return 200, are indexable, or are canonical. For very large sitemaps, entry-level rules run on a sample (the structure is still checked in full). Fetch-by-URL reads the file as served to this tool; a sitemap that's generated dynamically or gated may differ from what Googlebot receives.
Frequently asked questions
What makes an XML sitemap valid?
It must be well-formed XML using the sitemaps.org 0.9 namespace, with absolute URLs on the same host, valid W3C-format lastmod dates, properly escaped characters (for example & written as &), and no more than 50,000 URLs or 50 MB uncompressed per file. The validator checks all of these and scores the result.
How many URLs can a sitemap contain?
A single sitemap file is limited to 50,000 URLs and 50 MB uncompressed. If you have more, split them across multiple sitemaps and list those in a sitemap index file, which can itself reference up to 50,000 sitemaps.
Does a valid sitemap guarantee my pages get indexed?
No. A sitemap helps search engines discover URLs, but it is a hint, not a command. Pages still have to be crawlable, indexable (no noindex, not blocked by robots.txt), canonical, and worth indexing. A clean sitemap improves discovery; it does not force indexing.
Does lastmod need to be accurate?
Yes. Google only trusts lastmod when it is consistently accurate. If every URL shows today’s date on every export, the signal becomes noise and is ignored. Set lastmod to the date the page’s content actually changed, and leave it alone otherwise.
Can a sitemap list URLs from a different domain?
Generally no — all URLs should be on the same host as the sitemap file. Cross-domain URLs are only valid under specific Search Console cross-submission setups. The validator flags off-host URLs so you can catch accidental staging or CDN hostnames.
Feature requests for Sitemap Validator
Upvote what you want most. New ideas can be submitted from the floating Feedback menu; requests appear here once approved, and the most-wanted rise to the top.
You won't be emailed about that request anymore.
Loading…
➕ Request a feature
New requests are reviewed before they appear here.
Araç hakkında
XML site haritalarınızı satır numaralarıyla doğrulayın: sözdizimi hatalarını, URL durumlarını, yinelenen girdileri, robots.txt kapsamını ve genel sağlık puanını tek raporda görün.
Bir site haritası URL'si girin, XML yapıştırın veya dosya yükleyin; yapıştırılan ve yüklenen içerik tarayıcıda kalır.
Özellikler
- XML site haritası biçimi ve zorunlu alanlar için satır seviyesinde hatalar.
- URL durumları, son değişiklik tarihleri, yinelenen adresler ve bozuk bağlantı bulguları.
- Birden çok site haritası ve site haritası dizini için kapsam ve çakışma özeti.
- Kopyalanabilir rapor ve düzeltmeden sonra yeniden doğrulama akışı.
Nasıl çalışır
URL ile alınacak site haritasını seçin veya XML'i yapıştırın/yükleyin. Sözdizimi, kapsam ve URL bulgularını satır numaralarıyla inceleyin, yinelenen veya bozuk girdileri düzeltin ve aynı kaynağı yeniden çalıştırarak raporu karşılaştırın.
Sınırlamalar
- Araç bir site haritasını yayınlamaz veya Search Console verisi getirmez; canlı URL kontrolleri sınırlı bir alma hizmeti kullanır.
- Sağlık puanı doğrulama kapsamını özetler, trafik ya da dizine eklenme garantisi vermez; JavaScript ile sonradan eklenen URL'ler kaynak XML'de yoksa görülemez.
Sık sorulan sorular
Site haritası doğrulayıcı hangi girdileri kabul eder?
Tek bir XML site haritası, site haritası dizini veya yapıştırılmış/yüklenmiş XML kabul edilir; kaynak türü otomatik olarak belirlenir.
Yapıştırdığım XML yüklenir mi?
Hayır. Yapıştırılan ve yüklenen site haritaları tarayıcınızda doğrulanır; canlı URL modu yalnızca XML'i almak için herkese açık URL'yi gönderir.
Sağlık puanı neyi ölçer?
Puan, biçim, kapsam, URL ve yinelenen kayıt bulgularını özetler; arama görünürlüğünü veya dizine eklenme sonucunu garanti etmez.
Bir site haritası dizini nasıl kontrol edilir?
Dizin girdileri ve alt site haritaları okunur; kapsam ile yinelenen URL bulguları birlikte raporlanır ve her satırın kaynağı gösterilir.
Düzeltmeden sonra ne yapmalıyım?
Kaynağı yeniden doğrulayın, kalan satır bulgularını inceleyin ve güncellenmiş XML'i yayınlamadan önce kendi sunucunuzdaki robots.txt ve URL yanıtlarını ayrıca kontrol edin.