// free tool //

Hreflang Checker

Check every hreflang tag on a page: valid language and region codes, a self-reference, x-default, and whether each alternate loads, is indexable and links back. Free, no account needed.

Why hreflang quietly stops working

Hreflang tells Google which version of a page to show in each language or country. It fails silently: Google doesn't report most mistakes, it simply ignores the annotation and picks a version itself, so visitors in Germany land on the English page and nobody notices for months.

The usual causes are small. A code like en-UKinstead of en-GB, an underscore, a country on its own, a page that doesn't list itself, or an alternate that never links back. Return links matter most: Google can ignore a pair that isn't confirmed from both pages. This checker validates every code, then opens up to 15 alternates to confirm each one loads, links back and can be indexed.

An alternate that redirects, is noindex or names a different canonical breaks the set too. If one shows up here, check it with the Canonical Tag Checker and theNoindex Checker.

Find hreflang mistakes on every page, not just one.

MyKavo's Site Audit crawls your site and flags invalid hreflang codes and missing self-references, included on the free plan for up to 150 pages per crawl.

  • Free forever plan
  • No credit card
  • Monitoring in minutes

// questions //

Frequently asked questions

How do I check hreflang tags on a page?

Enter the page URL. The checker reads every hreflang annotation in the HTML and in the HTTP Link header, validates each language and region code, then opens up to 15 of the alternate pages to confirm each one loads, isn't noindex, and links back to the page you checked. Hreflang declared only in an XML sitemap isn't read by this tool.

Why is en-UK wrong in hreflang?

Because the region part must be an ISO 3166-1 country code, and the code for the United Kingdom is GB, not UK. Google ignores annotations it can't parse, so en-UK quietly does nothing; en-GB is the correct value. The same rule rejects underscores like en_US and a country on its own like us.

What is a hreflang return link?

It's the matching annotation on the other page. If your English page says the German version is at /de/, the /de/ page must list the English page too. Google may ignore hreflang pairs that aren't confirmed from both sides, so a missing return link is the most common reason hreflang doesn't work.

Do I need x-default?

No, it's optional. x-default tells Google which page to show people whose language or region doesn't match any of your versions, often a language picker or your main site. Without it, Google chooses for those visitors itself.