Skip to content

Hreflang Checker

This hreflang checker reads the hreflang annotations on a single URL you enter, checks the language and region codes are valid, and confirms a self-referencing tag and x-default are present. It then fetches each alternate URL the page names and checks it lists a tag pointing back, because hreflang only works when every version in a cluster reciprocates.

Note

We fetch the URL server-side, read the <link rel="alternate" hreflang="..."> tags in its <head>, then fetch up to 20 of the alternates it names to confirm each one links back. Hreflang is only honoured when it's reciprocal: a one-directional tag is disregarded by search engines even when the target page genuinely exists.

Email me this result

Want a copy for your records or a client? Leave your email and we'll send you this result. It is written by a real person at Crawl Cove, not an automated blast, so it may take a little while to arrive. We'll only use your address to send it, unless you also tick the box below. Privacy policy.

That email address doesn't look right. Please check it and try again.

Something went wrong saving your address. Your result above is unaffected; please try again.

Got it. We'll email your result to you. Nothing else lands in your inbox unless you ticked the tips box.

What this hreflang checker shows you

Paste a URL and it is fetched server-side. The tool reads every <link rel="alternate" hreflang="..."> tag in its <head>, checks each language or language-region code is validly formed, and reports whether the page carries a self-referencing tag (a hreflang entry pointing at itself) and an x-default fallback. It then fetches up to 20 of the alternate URLs named and checks each one carries a tag pointing back to the page you started from.

Why a one-way hreflang tag does nothing

Hreflang is only honoured when it is reciprocal. If your English page names a French page as its fr alternate, the French page must name the English page back as its own alternate; search engines treat this as a two-way confirmation, and a link in only one direction is disregarded entirely. This is what makes hreflang fragile: a cluster of five regional pages needs the return link correct on all five, and moving one page's URL without updating the others breaks reciprocity for the whole cluster, not just the page that changed.

Common hreflang mistakes explained

Why "uk" is not a valid code, and other common mistakes

A hreflang value pairs an ISO 639-1 language code with an optional ISO 3166-1 region code, separated by a hyphen, such as en-gb or fr-ca. The single most common typo is using uk for the United Kingdom: it looks right but isn't a recognised code in either list, and the correct region code is gb. Other frequent errors this checker flags: a code that doesn't match the language or language-region pattern at all, the same code declared twice for two different URLs (a conflicting annotation), and a missing self-referencing tag, which Google's own guidelines call for on every page in a cluster.

What a missing x-default costs you

x-default names the fallback page for a visitor who doesn't match any of your named language or region pairs, typically a language-selector page or your primary market's version. Without it, search engines are left to guess which version to show a visitor outside your explicit targeting, which can mean the wrong regional page from someone else's market. It costs one extra tag to declare and this checker tells you if it is missing.

The limit worth stating plainly

This checks the URL you enter against the alternates it names, up to 20 of them. It cannot discover a page that should be in the cluster but isn't linked from anywhere, and it only sees a cluster as wide as this one page's own tags describe. Finding every hreflang relationship on a site, including pages other pages fail to reference, needs a crawl of the whole thing rather than one page read in isolation.

Hreflang audit (whole-site) · Full site audit

One page here, every page in your cluster there

Checking a single URL is a fast way to confirm one relationship is working, but the failure that actually costs traffic is usually somewhere else in the cluster: a page nobody thought to check that never got the return tag added when a new region launched. Crawl Cove maps hreflang across every page it crawls at once, so a broken reciprocal link surfaces regardless of which page in the cluster you would have thought to test.

audit hreflang across your whole site · See Crawl Cove pricing

Frequently asked questions

What is a hreflang tag?
An HTML link tag that tells search engines which language and region a page targets, and names the alternate version to show a visitor searching from elsewhere. It pairs a language code with an optional region code, such as en-gb or fr-ca.
Why does my hreflang tag not work even though it looks correct?
The most common cause is a missing reciprocal tag: hreflang is only honoured when the alternate page links back to the original. A one-directional relationship is disregarded, so check the page your tag points at also names yours back.
Is "uk" a valid hreflang code?
No. There is no ISO region code "uk". The correct region code for the United Kingdom is "gb", used as en-gb. "uk" is one of the most common hreflang typos and this checker flags it specifically.
What is x-default for?
It names the fallback page shown to a visitor who doesn't match any of your explicit language or region pairs, typically a language-selector page or your main market's version. Leaving it out means search engines have to guess for anyone outside your named targeting.
Do I need a self-referencing hreflang tag?
Yes. Every page in a cluster, including the one you are looking at, should list itself among its own hreflang alternates. This checker reports whether that tag is present.
How many alternate URLs does this check?
Up to 20 named on the page you enter. Each is fetched to confirm it carries a tag pointing back to the original URL; a redirected or unreachable alternate is reported as such rather than checked for reciprocity.
Is this hreflang checker free?
Yes. It is completely free and needs no sign-up.
Can I check hreflang on a site I do not own?
Yes, the same as any browser could reach the URL and its alternates directly. It is a read-only check, nothing is submitted to the target, and results are not stored anywhere you or anyone else can browse back to.

From one page to your whole site

This checks one URL against its own declared alternates. Crawl Cove builds the whole hreflang cluster as it crawls a site, cross-referencing every page against every other page rather than one page's own claims, so a page missing FROM someone else's tags is caught too. See audit hreflang across your whole site or compare the plans.

Try it free

More free tools