← Free SEO tools

XML sitemap validator

Is your sitemap
valid XML?

Paste a sitemap or a sitemap index and see what breaks the sitemap rules, with a line number for every finding.

A reimplementation of the documented rules, not Google's parser. It reads the pasted text only: it does not fetch your URLs. Nothing is uploaded.

What the documents say

"each Sitemap file that you provide must have no more than 50,000 URLs and must be no larger than 50MB (52,428,800 bytes)."

"all URLs in a Sitemap must be from a single host, such as www.example.com or store.example.com."

"This URL must begin with the protocol (such as http) and end with a trailing slash, if your web server requires it. This value must be less than 2,048 characters."

"This date should be in W3C Datetime format."

"Use fully-qualified, absolute URLs in your sitemaps."

Quoted from sitemaps.org's protocol page and Google's sitemap guide, read on 2026-10-07. Either can change, so treat those pages as the final word. More: Google's documented sitemap rules.

Related: sitemap generator · sitemap URL extractor · robots.txt and sitemap checker · Google's sitemap rules · IndexNow reference. All free tools

Free, no account, nothing leaves your browser.

How to use it

  1. 1
    Paste your sitemap XML

    Open yoursite.com/sitemap.xml, view the source, copy it all and paste it in. A sitemap index works too. Optionally add the address the file lives at, to check where its URLs are allowed to be.

  2. 2
    Read the errors and warnings

    Errors are departures from the sitemap rules, such as malformed XML, a relative URL, a bad lastmod or a mix of hosts. Warnings are worth a second look. Each shows its line number.

  3. 3
    Fix the file and paste it again

    The tool reads only what you paste. It does not request your URLs, so it cannot say whether they return 200 or whether Google indexes them. Use Search Console for that.

Questions

What does it check?

That the XML is well-formed (matched tags, escaped ampersands, one root); that the root is a urlset or a sitemapindex with the sitemaps.org namespace; that each entry has a loc that is an absolute http or https URL under 2,048 characters; that lastmod values are in W3C Datetime format; that changefreq and priority values are valid; that the file is within 50,000 URLs and 50MB; that no URL is listed twice; and that all URLs share one protocol and host.

Where do the limits come from?

The sitemaps.org protocol and Google's sitemap documentation both say a sitemap holds at most 50,000 URLs and is at most 50MB (52,428,800 bytes) uncompressed. A sitemap index may list at most 50,000 sitemaps. The size is measured here on the text you paste, as UTF-8. A gzipped sitemap is checked uncompressed, because the limit applies to the uncompressed file.

Is this the same as Google's validation?

No. It is a reimplementation of the rules the two documents state, written by us, not Google's parser. It does not check the XML Schema file, fetch your URLs, or test how Google treats them. A clean result is not a promise that URLs will be crawled or indexed. Google says it ignores the priority and changefreq values, and uses lastmod only if it is consistently and verifiably accurate.

Why does it flag a mix of protocol or host?

sitemaps.org says all URLs listed in a sitemap must use the same protocol and reside on the same host as the sitemap, and that URLs which are not valid are dropped. So http and https, or www and non-www, in one file is reported as an error. Add the address of the sitemap in the optional box and it also checks the folder rule: a sitemap at /catalog/sitemap.xml can list only URLs that start with /catalog/.

What counts as a valid lastmod?

The W3C Datetime profile: a year, a year and month, a date (YYYY-MM-DD), or a date and time with a timezone, such as 2026-10-07T12:30:00+00:00 or 2026-10-07T12:30:00Z. A time without a timezone is flagged. The date should be when the page was last modified, not when the sitemap was generated; this tool cannot know that, but it warns about dates in the future.

Is my sitemap uploaded?

No. Everything runs as JavaScript in your browser and nothing is sent to a server. Very large pastes may be slow, and the page stops listing findings after the first 200.

More free SEO and GEO tools

AI visibility checkerGEO

Does ChatGPT search or Google AI Overviews cite your site? Who do they cite instead?

AI crawler checkerGEO

Is your robots.txt blocking ChatGPT, Claude, Perplexity or Gemini? 16 AI bots checked, plus llms.txt.

Robots.txt and sitemap checkerSEO

Can Google and Bing crawl your site? Is your sitemap valid and listed in robots.txt?

Robots.txt generatorGEO

Build a robots.txt with your sitemap and blocked paths, plus presets to block AI training bots and keep AI search.

llms.txt generatorGEO

Create an llms.txt in the llmstxt.org format. A community proposal; Google Search ignores it, and the page says so.

Schema markup generatorSEO

JSON-LD for FAQPage, Article, LocalBusiness and Organization, with required-field hints. No fake review schema.

Open Graph tag generatorSEO

Write og: and Twitter card tags, preview the share card and catch long titles and non-https images.

Blog post ideasContent

Real searches your site could write a post for, with approximate monthly volume and a suggested post format.

SERP snippet checkerSEO

Preview your title and meta description in Google, with the pixel widths Google truncates at.

Meta description length checkerSEO

Count characters and estimate pixel width for a meta description. Google sets no character limit, so the pixel line is a labelled approximation.

Keyword combinerSEO

Combine up to three keyword lists into every long-tail variation, ready to copy.

Keyword density checkerContent

Paste an article: see the words and phrases it repeats most, and spot keyword stuffing.

Word counter and reading timeContent

Live word, character, sentence and paragraph counts, reading time, and rough length guides for titles, meta descriptions and posts.

Readability checkerContent

Flesch reading ease, grade level, sentence length, long sentences and a passive-voice hint for English text. Syllables are estimated.

UTM builderSEO

Add source, medium and campaign to any link so analytics shows where each visit came from. Copy the tagged URL.

Title case converterContent

Switch any headline or paragraph to title case, sentence case, UPPERCASE or lowercase. Acronyms and brand names you typed are kept.

hreflang generatorSEO

List your language versions and copy the full set of hreflang link tags, with an optional x-default.

Heading structure checkerContent

Paste HTML or markdown and see the H1 to H6 outline, with missing or multiple H1s, skipped levels, empty and long headings flagged as guidance.

Robots meta tag generatorSEO

Build a robots meta tag and X-Robots-Tag header with noindex, nosnippet and max-snippet, plus Apache and nginx snippets. Directives documented by Google.

Image alt text checkerContent

Paste HTML and list every image with its alt text. Flags missing alt, empty alt to double-check, file names, long text and filler phrases as guidance.

Keyword grouperSEO

Paste up to 2,000 keywords and group them by shared words into a first draft of topic clusters. Groups by words, not search intent. Copy or download CSV.

Link and anchor text checkerContent

Paste HTML and list every link with its anchor text and rel values. Flags generic and empty anchors, placeholder hrefs and mixed anchors as guidance.

SEO content brief generatorContent

Turn a keyword, intent and reference URLs into a brief template: title options, outline, questions, on-page checklist and E-E-A-T prompts. Copy or download markdown.

301 redirect generatorSEO

Paste old and new URLs and get redirect rules for Apache, nginx, Netlify and Cloudflare _redirects and Vercel. Validates input and flags duplicates, chains and loops.

IndexNow generatorSEO

Make an IndexNow key, the key file and GET, POST and curl requests for your changed URLs. Builds the request only; Google is not a listed participant.

Sitemap URL extractorSEO

Paste sitemap.xml and list every URL and lastmod. Flags more than 50,000 entries, invalid dates, duplicates, non-http(s) URLs and mixed hosts. Copy or CSV.

Canonical tag checkerSEO

Paste page HTML and check its rel=canonical: head vs body, multiple tags, relative URLs, fragments, http/https and www mismatches, noindex and og:url.

FAQ schema generatorSEO

Paste your questions and answers and copy valid FAQPage JSON-LD, safely escaped. Valid markup only: Google no longer shows FAQ rich results.

Article schema generatorSEO

Article, BlogPosting or NewsArticle JSON-LD with several images and authors, date checks and a checklist of what Google documents as recommended. Parsed back before you copy.

Breadcrumb schema generatorSEO

Type your breadcrumb trail and copy BreadcrumbList JSON-LD with numbered positions and the last-item rule from Google's docs. Parsed back before you copy.

JSON-LD checkerSEO

Paste page HTML or a snippet and list every ld+json block: JSON syntax errors, @context, @type and @graph items. Parsed in your browser.

Keyword cannibalization finderSEO

Paste a Search Console export with Query and Page columns and list queries where two or more of your pages got impressions, with clicks and position per page. CSV export, in your browser.

Striking distance keyword finderSEO

Paste a Search Console export and list the queries ranking just off the top of page one, positions 8 to 20 by default, sorted by impressions. CSV export, in your browser.

Content decay finderSEO

Paste two Search Console exports, an earlier period and a recent one, and list the pages or queries that lost the most clicks. CSV export, in your browser.

Question query finderContent

Paste a Search Console export and list the queries phrased as questions, grouped by question word and sorted by impressions. CSV export, in your browser.

Low CTR finderSEO

Paste a Search Console export and list the queries or pages that rank high but earn few clicks, with your own position, impressions and CTR limits. CSV export, in your browser.

CTR by position bucketSEO

Paste a Search Console export and see impressions, clicks and CTR grouped by average position: 1, 2, 3, 4-5, 6-10, 11-20 and 21+. CSV export, in your browser.

New vs lost queriesSEO

Paste two Search Console exports and list the queries that appear only in the recent period and the ones only in the earlier one, with click and impression changes. CSV export, in your browser.

Branded vs non-branded queriesSEO

Paste a Search Console queries export and your brand terms and see queries, clicks, impressions, CTR and position for branded and non-branded searches. CSV export, in your browser.

llms.txt validatorGEO

Paste an llms.txt and check it against the llmstxt.org proposal: H1, summary, H2 link lists, Optional section, link format. A community proposal, not an official standard. In your browser.

Internal link opportunity finderContent

Paste your page URLs and titles and an article, and see which pages share words with it, with the phrase to link. Plain word matching, not a relevance score. In your browser.

hreflang validatorSEO

Paste the head HTML of each language version, or a sitemap with xhtml:link entries, and check codes, absolute URLs, self-reference and return links. Based on Google's documented rules. In your browser.

URL structure checkerSEO

Paste a list of URLs and flag upper case, underscores, unencoded characters, fragments used as routes, odd or many parameters and ID-number segments, against what Google documents. In your browser.

HTTP header checkerSEO

Paste response headers (curl -sIL) and check the status, redirect chain, X-Robots-Tag directives and Link header canonical and hreflang values, against what Google documents. In your browser.

Structured data property checkerSEO

Paste page HTML or JSON-LD and check Product, BreadcrumbList, LocalBusiness, Article, Organization and review markup for the required and recommended properties Google documents. In your browser.

Redirect map checkerSEO

Paste old URL to new URL pairs and find loops, chains, self redirects and conflicting sources, then copy a flattened map that skips the middle hops. In your browser.

Duplicate title and meta description finderSEO

Paste a crawl export of URL, title and description and find pages that share a title or description, plus missing ones. Exact matches only. In your browser.

Sitemap diff checkerSEO

Paste an old and a new sitemap and see which URLs were added, which were removed and which lastmod values changed. Exact URL matching. In your browser.

Robots.txt diff checkerSEO

Paste two robots.txt versions and see the rules added or removed under each user agent, changed sitemap lines, and a warning if the new file blocks the whole site. In your browser.

Googlebot log analyzerSEO

Paste access-log lines and see the hits claiming to be Googlebot by status code and day, with the URLs that returned redirects, 404s and 5xx. Claimed, not verified. In your browser.

Robots.txt testerSEO

Paste a robots.txt, a user agent and URLs and see allowed or blocked with the deciding rule. Google's documented matching: longest rule wins, allow wins ties, * and $. In your browser.

Table of contents generatorContent

Paste HTML or Markdown and get an anchor-linked table of contents with slugged heading ids, as HTML or Markdown. Copy it, in your browser.

Meta tag checkerSEO

Paste page HTML and list its title, meta description, viewport, charset, lang, canonical, robots, Open Graph and Twitter tags, with notes from Google's docs.

QR code generator with UTMSEO

Tag a URL with UTM source, medium and campaign and get its QR code, drawn in your browser. Download PNG or SVG. A static code: scans show up as tagged visits in analytics.

Sitemap generatorSEO

Paste a list of URLs and download a valid sitemap.xml: duplicates removed, one site, XML-escaped, 50,000-URL warning.

SEO checklist for blog postsContent

An interactive pre-publish checklist: intent, on-page, technical and after-publish checks, saved in your browser, with a free tool linked where one helps.

Content calendar generatorContent

Turn a list of topics into a dated publishing schedule. Pick the start date, weekdays and pace; copy it or download a CSV.

URL slug generatorSEO

Turn any title into a short, clean, SEO-friendly URL slug, in any language.

SEO content cost calculatorContent

Cost per blog post and per month: freelancer, agency, in-house, AI tools or Balzac. Your numbers, editable.

Let Balzac write the articles.

Type your website. Balzac finds the searches you can win, writes articles built to rank on Google and get cited by ChatGPT, and publishes them for you.

3 free articles · No card needed