Sitemap Checker

Point this at a sitemap and it tells you whether the XML is valid, how many URLs it holds, whether lastmod values are formatted correctly, and whether anything is duplicated. Enter a bare domain and it will check /sitemap.xml.

Check a sitemap

A bare domain is checked at /sitemap.xml. You can also paste the exact URL of any sitemap, including one listed in a sitemap index.

What this tool does

The sitemap is fetched and parsed as XML. The tool then checks the things that actually break sitemaps: malformed XML, a missing or wrong namespace, a missing <loc>, relative instead of absolute URLs, lastmod values that are not W3C dates, duplicate entries, and files over the 50,000 URL or 50 MB limits.

The first 25 entries are listed so you can see what is actually in there. Every entry is parsed and checked, not just the ones shown.

How it works

  1. Your input is validated. A bare domain becomes https://domain/sitemap.xml; a full URL is used as-is.
  2. The file is fetched and parsed with the browser's XML parser.
  3. The root element is identified as either <urlset> or <sitemapindex>, which decides how the rest is read.
  4. Each entry's loc, lastmod, priority and changefreq are validated.
  5. Counts, duplicates and limits are reported, then the entries are listed.

Limitations & transparency

This tool reads one sitemap file. If you give it a sitemap index, it reports on that index and lists the child sitemaps — it does not open each one, so run it again on a child sitemap to check its contents.
A valid sitemap is a suggestion, not a request. Being listed in a sitemap does not get a page indexed, and a page can be indexed without appearing in one. Only Google Search Console tells you what actually happened.

The URL you enter is sent to the retrieval services listed in the Privacy Policy. This static site has no backend, stores no results, and never submits anything to a search engine.

Sitemap structure, explained

<urlset>
The standard sitemap. Each <url> contains a <loc> and may contain <lastmod>, <changefreq> and <priority>.
<sitemapindex>
A list of other sitemaps. Each <sitemap> contains a <loc> and usually a <lastmod>. Required once a site exceeds 50,000 URLs or 50 MB.
<lastmod>
The date the page last changed, in W3C format: 2026-10-17 or 2026-10-17T09:30:00+00:00. Optional. Google uses it only if it is consistently accurate.
<priority> and <changefreq>
Valid syntax, but Google ignores both. They do not change crawl frequency or ranking. Other engines may read them.
The namespace
Every sitemap should declare xmlns="http://www.sitemaps.org/schemas/sitemap/0.9". Without it, search engines may ignore the file even if the XML is perfect.

Common mistakes and how to fix them

Relative URLs in <loc>
Symptom: the whole file is rejected. Cause: <loc>/about</loc> instead of a full URL. Fix: always use the complete absolute URL, starting with https://.
Unescaped ampersands
Symptom: “malformed XML” errors. Cause: a raw & inside a URL, as in ?a=1&b=2. Fix: escape it as &amp;.
lastmod in the wrong format
Symptom: the value is ignored. Cause: 17/10/2026 or 2026-10-17 09:30. Fix: use 2026-10-17 or the full ISO form with a timezone.
The same URL listed twice
Symptom: no visible penalty, but wasted crawl budget. Cause: a CMS generated the sitemap more than once, or URLs differ only by trailing slash. Fix: generate it once and pick one canonical URL form.

FAQ

What is the difference between a urlset and a sitemapindex?
A urlset lists your pages directly, one <loc> per page. A sitemapindex lists other sitemap files instead of pages, and is how sites with more than 50,000 URLs or 50 MB split their sitemap. Both are valid — the root element tells you which you are looking at, and this tool reports it explicitly.
How many URLs can one sitemap contain?
Up to 50,000 URLs per file, and 50 MB uncompressed. Beyond that, split the sitemap and reference the parts from a sitemap index. This tool flags a file that exceeds either limit.
Is lastmod required?
No. It is optional, and leaving it out is valid. If you do include it, it must be W3C format — 2026-10-17 or 2026-10-17T09:30:00+00:00. Google states it only uses the value if it is consistently accurate, which is why many sites leave it out rather than publish a number that is often wrong.
Does priority or changefreq change how often Google crawls me?
No. Google ignores both elements completely. They are valid syntax and other engines may read them, but they do not affect Google's crawl behaviour or your rankings. This tool validates their syntax and tells you Google ignores them.
Why could this tool not fetch my sitemap?
A browser can only read a cross-origin page when the server allows it, so the tool falls back to public relay services that are frequently rate-limited or offline. The report lists every attempt that was made. This is a retrieval failure and says nothing about whether your sitemap exists — if you entered a bare domain, the sitemap may simply not be at /sitemap.xml. Retrying later often works.

Related tools

Robots.txt Checker

Read the crawl rules and find the sitemap references a site declares.

Open Tool

SEO Checker

Run sitemap and robots.txt checks alongside on-page SEO analysis.

Open Tool

HTTP Status Checker

Confirm the sitemap URL actually returns 200 before trusting its contents.

Open Tool