Paste any live URL to validate its hreflang tags — checks language codes, x-default, self-references and reciprocal annotations server-side with no CORS issues.
| hreflang | href | Status |
|---|
After you implement hreflang tags using a generator or a CMS plugin, you need a way to verify the live result is correct. This tool fetches the page server-side — bypassing any CORS restrictions — and runs four key checks that mirror how Google validates international SEO annotations.
Every hreflang attribute must use a valid BCP 47 language tag: a two- or three-letter ISO 639-1 language code (e.g. en, fr, de), optionally followed by a hyphen and an ISO 3166-1 Alpha-2 country code (e.g. en-gb, fr-ca, zh-cn). Common mistakes include en-uk instead of en-gb, or zh when you mean zh-cn. Invalid codes are silently ignored by Google.
x-default is a special hreflang value that designates the fallback page for users whose locale matches none of your language variants. It is optional but recommended by Google for any site with a language-agnostic home page or selector. The checker flags its absence as a warning.
Every page in an hreflang set must include a tag pointing to itself. A missing self-reference is a common implementation error — the page's own URL must appear in the set alongside all the other language variants.
The reciprocal rule is the most commonly broken hreflang requirement. If your English page references the French page, the French page must reference the English page back. The checker fetches up to six of your alternate URLs and confirms each one contains a link back to the page you submitted. Failures here are errors, not warnings — Google will discard the whole annotation cluster if reciprocity is broken.
Browser-based tools can only fetch pages that return permissive CORS headers. Because most websites do not allow arbitrary cross-origin requests, a browser-only checker would fail on nearly every real-world URL. This tool sends the fetch request from the server, just like a search-engine bot would, so you get the real HTML the crawler sees.
Paste the same complete hreflang block into every language variant. The Hreflang Tag Generator outputs the full set — copy the identical block to every page in the language cluster.
Replace the invalid code with a correct BCP 47 tag. Use en-gb not en-uk, zh-cn for Simplified Chinese, zh-tw for Traditional. Check the full list of codes in the generator.
Add a <link rel="alternate" hreflang="en" href="https://example.com/en/" /> tag on the English page pointing to itself (replace with your own language and URL).
Add <link rel="alternate" hreflang="x-default" href="https://example.com/" /> pointing to your language-neutral home page or language selector on every page in the set.