Hreflang Validator
Check any URL's hreflang implementation — self-reference, reciprocal return tags, x-default, BCP 47 locale codes and the HTTP status of every alternate. Free, no signup.
How hreflang works: self-reference, reciprocity and x-default
Hreflang links form a set, and search engines only trust a set when it is complete. Three rules matter most. Self-reference: every URL in the set — including the page you are reading this on — must contain a tag pointing to its own URL. Reciprocity: every alternate must link back, so a German page declared from English must itself declare the English page (and the rest of the set). x-default: a fallback URL for visitors whose locale matches nothing in the set.
Codes must follow BCP 47 — lowercase language, uppercase region (en-US, not en-us or en_US) — and every declared URL should return HTTP 200. This validator checks all of that, then honestly flags anything it could not verify (for example alternates beyond the fetch limit).
What is hreflang and why does it matter?
Hreflang is a link attribute (<link rel="alternate" hreflang="en-US" href="...">) that tells search engines which language and region a page targets, so they can serve the right version to the right audience. A correct hreflang set prevents the wrong language ranking in the wrong country, reduces duplicate-content confusion between near-identical translated pages, and improves international click-through from search results.
What is a self-referencing hreflang?
Every URL in a hreflang set must include a tag that points to itself. If your English, German and Spanish pages form a set, each of the three pages must list all three URLs — including its own. Search engines treat a missing self-reference as a signal that the set is incomplete, and may ignore the whole cluster on that page.
What does reciprocal hreflang mean?
Reciprocity (return tags) means every alternate page must link back to the original. If your English page declares hreflang="de" pointing at /de, then /de must declare a tag pointing back at the English URL. One-way declarations are ignored by Google — the validator fetches up to 10 alternate URLs and verifies each return tag for you.
What is x-default hreflang?
x-default is a special hreflang value that acts as the fallback for users whose language or region doesn't match any tag in your set (for example a visitor whose browser locale is Japanese when you only publish English, German and Spanish). Google recommends always including an x-default tag; without one, search engines pick a fallback on their own.
How should hreflang language codes be formatted?
Use BCP 47 codes: a lowercase ISO 639-1 language, optionally followed by an uppercase ISO 3166-1 Alpha-2 region — for example en, en-US, pt-BR, zh-Hant-CN. Avoid underscores (en_US), all-lowercase regions (en-us) and region-only codes (US). The special value x-default is always written lowercase with a hyphen.