Skip to content

SEO

XML Sitemap Validator

XML Sitemap Validator

Beta

Check a sitemap or sitemap index against the sitemaps.org protocol. See every error with its line number and a fix. Runs in your browser; nothing is uploaded.

Use via API
  • Free, no sign-up
  • REST + MCP
  • Updated
  • Reviewed by Olgun Ozoktas
Runs in your browserNothing uploaded
Type detected after you check

Paste sitemap XML here, or drop a .xml file

Works with a <urlset> sitemap or a <sitemapindex>. Up to 10 MB, read in your browser.

Checks the XML you paste against the sitemaps.org protocol; it does not fetch your URLs or your live sitemap.

What it checks

  • Well-formed XML, <urlset> or <sitemapindex> root
  • Every entry has an absolute <loc>
  • lastmod in W3C Datetime
  • changefreq words, priority 0.0 to 1.0
  • Duplicate URLs and mixed hosts
  • 50,000 URLs and 50 MB per file

Why Use the XML Sitemap Validator?

A sitemap is read by a program, not a person, and a program is strict. One unclosed tag stops the whole file from parsing, a relative URL or a day-first date is skipped, and a search engine's report usually tells you only that the sitemap has errors, days after you submitted it. This validator reads the file the way the sitemaps.org protocol describes it and lists every problem with the line it is on, grouped by rule, with a plain-English fix for each. Click a line number and the editor selects that line, so you can correct it and watch the report update. It runs in your browser, so a sitemap of an unreleased site stays on your computer.

The XML Sitemap Validator checks a sitemap file against the sitemaps.org protocol, the format search engines read. It first reads the file as XML and stops at the first well-formedness error, with the line it is on: a tag that is never closed, closing tags in the wrong order, an undefined entity or text outside the root element. For an element that is never closed, it shows the missing closing tag as a one-line fix.

When the XML parses, the tool detects the type from the root element: <urlset> for a list of pages or <sitemapindex> for a list of sitemap files, and checks the namespace http://www.sitemaps.org/schemas/sitemap/0.9. Every entry is then checked for a <loc> that is an absolute http or https URL, at most 2,048 characters, with no whitespace and with & escaped as &amp;. It flags a URL that repeats an earlier one, URLs on more than one host, a <lastmod> that is not in W3C Datetime format or lies in the future, a <changefreq> other than the seven allowed words, and a <priority> outside 0.0 to 1.0. It also compares the file with the protocol's limits of 50,000 entries and 50 MB uncompressed per file.

Errors break a rule of the protocol; warnings, such as duplicates, a missing namespace or mixed hosts, are worth fixing but may not stop a search engine from reading the file. Every finding carries its line number, and the findings are grouped by rule with a fix for each. The tool reads up to 10 MB of XML; larger files are checked in a background thread so the page stays responsive.

The check reads only the text you paste or upload. It does not request your URLs, so it cannot tell you whether a page returns 200, redirects or is blocked. To test crawl rules, use the Robots.txt Tester; to create a sitemap from a list of URLs, use the XML Sitemap Generator; and to describe your site for AI assistants, use the llms.txt Generator.

How it compares

Google Search Console's Sitemaps report shows what happened after you submitted a sitemap: whether Google could fetch it, how many URLs it discovered, and which pages it indexed. It needs a verified site, and the result comes after Google has fetched the file. This validator answers an earlier question: is the file itself correct according to the sitemaps.org protocol? It checks the format before you submit it, on a file that does not have to be online, and it points at the exact line of each problem. Use both: this page to catch format errors first, and Search Console to see what Google did with the sitemap.

Tips

  • A <lastmod> date needs no time: 2026-09-20 is valid. If you add a time, add a timezone as well, for example 2026-09-20T14:30:00+00:00 or 2026-09-20T14:30:00Z.
  • Google says it ignores <changefreq> and <priority>, so if those two tags are the only errors, removing them is a valid fix.
  • Keep every URL on the host the sitemap is served from, and use the same scheme and www form as your canonical URLs.
  • A & inside a URL must be written as &amp; in the XML. Most XML libraries do this for you; string templates often do not.
  • If a file approaches 50,000 URLs or 50 MB, split it and list the parts in a sitemap index. The limits apply to each file.
  • To build a sitemap from a list of URLs, use the XML Sitemap Generator, then check the result here.

Frequently Asked Questions

What are the size limits for an XML sitemap?

The sitemaps.org protocol allows at most 50,000 URLs and 50 MB (52,428,800 bytes) uncompressed per sitemap file. A sitemap index has the same limits for the number of sitemaps it lists. If a site has more URLs, split them over several sitemaps and list those in a sitemap index. This tool shows how close a file is to both limits. It reads up to 10 MB of XML itself; check a larger file in parts.

Which lastmod formats are valid?

The protocol uses the W3C Datetime format. A date alone is valid, for example 2026-09-20, and so are a year and month (2026-09) or a year. With a time, a timezone is required: 2026-09-20T14:30:00+00:00, 2026-09-20T14:30:00Z or 2026-09-20T14:30+02:00. Day-first dates such as 20-09-2026, slashes, or a time without a timezone are flagged as errors. A date more than a day in the future is flagged as a warning.

Do changefreq and priority matter?

They are optional in the protocol. Google's Search Central documentation on building sitemaps says Google ignores the changefreq and priority values, while it uses lastmod when the date is consistently accurate. Other search engines may read them. If you keep them, use valid values: changefreq must be always, hourly, daily, weekly, monthly, yearly or never, and priority a number from 0.0 to 1.0. This tool checks both.

Can it check a sitemap index?

Yes. The tool detects a root and checks each entry the same way: an absolute , a valid , no duplicates and one host. It does not open the sitemaps the index lists, because it fetches nothing; paste each listed sitemap to check it as well.

Why must & be written as &amp; in a sitemap URL?

A sitemap is XML, and in XML a bare & starts an entity reference. The protocol requires URLs to be entity-escaped, so a URL such as https://example.com/search?q=shoes&page=2 must appear in as https://example.com/search?q=shoes&page=2. The same applies to single and double quotes and to < and >. The tool flags a bare & in a as an error.

Why is "mixed hosts" a warning?

The protocol says a sitemap may only list URLs of the host it is served from, so a sitemap on example.com should not list www.example.com or another domain, unless you prove ownership of both through cross-submission in robots.txt. A mix of www and non-www hosts often means some URLs are not the canonical form. The tool reports the first URL on a second host. It checks the host only, not the directory the sitemap sits in.

Does it fetch my URLs or my live sitemap?

No. It checks the XML you paste or upload, and nothing else. It does not download the sitemap from your site and does not request any URL in it, so it cannot tell you whether a page returns 200, redirects, is blocked by robots.txt or is marked noindex. It checks the file's format.

Can I check a .xml.gz file?

Not directly. The protocol lets you serve a sitemap compressed with gzip, and the 50 MB limit applies to the uncompressed file, but this tool does not decompress files. Unzip it first, for example with gunzip sitemap.xml.gz or by double-clicking it, then paste or upload the .xml inside. If you upload a gzip file, the tool says so instead of showing unreadable text.

Is anything I paste uploaded?

Runs in your browser; nothing you paste is sent to FindUtils. Analytics and ads may load on the page.

Can I validate sitemaps from code or an AI assistant?

Yes. The same check is available as a REST endpoint: POST https://api.findutils.com/api/tools/sitemap-validator/execute with a JSON body containing xml (the sitemap text, up to 10 MB). It returns the type, the URL count, the error and warning counts, and every issue with its severity, rule id and line. AI assistants can call it through the FindUtils MCP server as the sitemap_validator tool.

Rate This Tool

0/1000

Get Weekly Tools

Suggest a Tool