Skip to content

Hreflang Checker

Hreflang check

Why is Google showing the wrong language version?

Usually because the hreflang cluster is broken somewhere, and Google fell back to guessing from the URL, the content language and the visitor's location. hreflang is a hint that only works when the whole set agrees; one bad tag and the entire cluster is discarded.

Paste one URL or fifty. This tool reads every rel="alternate" tag on each page and reports which language versions are declared, whether the page is in its own list, and which codes are not real.

Do hreflang tags have to point back at each other?

Yes, and this is the rule most sites get wrong. If your English page says the Vietnamese version lives at /vi/, then /vi/ has to say the English version lives back at the original. Google ignores one-way declarations completely.

Two things follow. Every page must also list itself — a cluster of five languages means five tags on each of the five pages, not four. And a page missing from its own list breaks the cluster for everyone else in it, not just for itself.

en-GB or en-UK? Getting the language codes right

en-GB. The United Kingdom is GB in ISO 3166-1; UK is not a country code at all, and Google discards the tag. The same trap catches es-SP for Spain, which is ES, and in-ID for Indonesian, whose language code changed to id years ago.

These survive every visual review because they look right. This checker validates each code against the actual ISO lists rather than the shape alone, and it accepts the forms people wrongly get flagged for elsewhere — es-419 for Latin America, zh-Hant for Traditional Chinese, and mixed case such as EN-gb.

Checking hreflang across 50 URLs

Paste your URLs into the box, one per line, up to 50 per run. There is no cap on runs.

Two options change what gets fetched:

  • Domain only reduces each URL to its homepage.
  • Follow redirects, on by default, reads the tags of the final destination rather than the first hop.

Each row shows the languages declared, how many alternate tags were found, and a status. Click a row to see every tag with its URL — anything invalid is listed first, so a page with a hundred tags still shows the three that matter at the top. Export CSV lists the invalid codes by name rather than counting them.

What this checker cannot see

It reads the head of each page you paste. It does not fetch the pages those tags point at, so it cannot confirm the return links for URLs you did not paste — paste the whole cluster and the gaps become visible in the table.

hreflang can also be declared in an HTTP Link header or in the XML sitemap, and both are valid. This tool reads the HTML only, so a site using either of those will show as having no hreflang here while being perfectly correct for Google.