Free tools

Hreflang Checker

List the hreflang tags of a page, validate language and region codes, and check that every alternate answers and links back.

How hreflang works

Hreflang tags tell search engines which URL to show to users of each language and region. A page with English, German and French versions carries three <link rel="alternate" hreflang="…" href="…"> tags, one for each version including itself, and every version carries the same set. Search engines then swap in the right URL in their results.

The tags are hints, and they only count when they are consistent. That is why most hreflang problems are invisible: nothing breaks on the page, the wrong version simply keeps ranking in the wrong country.

What the checker verifies

Common mistakes

Pointing to redirecting URLs. Alternates must be the final, canonical addresses. A link to /de that redirects to /de/ is enough to break the pair.

One-way tags. Templates often add hreflang to the main language but not to translations, or translations point to a different URL format than the original uses.

Conflicts with canonical tags. If the German page has a canonical tag pointing to the English page, search engines treat it as a duplicate and drop it from the set. Each version should be canonical to itself.

FAQ

What are hreflang return links?
If page A says that page B is its German version, page B must also have a hreflang tag pointing back to page A. Without that confirmation, search engines ignore the pair. Missing return links are the most common hreflang error, and you only see them by opening every alternate, which is what this checker does.
Does a page need a hreflang tag pointing to itself?
Yes. Each page in a language set should list all versions, including itself. The checker accepts the page itself or its x-default entry as the self-reference.
Is en-UK a valid hreflang value?
No. Region codes follow ISO 3166-1, where the United Kingdom is GB, so the correct value is en-GB. Search engines silently ignore en-UK, which is one of the most frequent hreflang mistakes.
Do I need x-default?
It is recommended whenever you have more than one language version. x-default tells search engines which page to show users whose language or region does not match any version, usually a language selector or the main international page.
Why does the checker stop after ten alternates?
Each alternate is a separate request, and some sites list dozens of languages. The free tool checks the first ten; the API returns the same data so you can run it for every page in a script.

More free tools