An hreflang checker validates the hreflang tags on your website to ensure search engines route the right version of a page to the right user by language and region. This tool reads a single page URL and reports how many hreflang tags it carries, lists each one, and checks for a self-referencing tag, x-default coverage and duplicate language values.
Overview
This hreflang checker reads the hreflang tags on a single page so you can see whether they tell search engines about language and regional versions of your content. If your website publishes the same page in multiple languages—English, Spanish, German, for example—hreflang tags guide search engines to show each version to the appropriate audience.
To use this tool, enter a page URL and click check. The tool examines the hreflang tags in the page's HTML and reports what it finds. It counts the tags, lists each language value and target URL, and checks whether you include a self-reference tag, whether you have x-default coverage for unlisted regions, and whether any language value appears twice. It does not validate language codes, follow the alternate URLs to confirm they link back, or compare the tags with the canonical tag; check those by hand.
Hreflang validation checks explained
Hreflang setups fail in several ways. This tool checks for x-default, duplicate language values and self-reference; return links and canonical conflicts need a manual check. Understanding each one helps you fix problems and prevent them in the future.
Return link reciprocity means if your English page points to the Spanish version via hreflang, the Spanish page should point back to the English version. If the English page says 'go to example.com/es/page for Spanish,' the Spanish page must say 'go to example.com/en/page for English.' If the link is one-way only, search engines may ignore the tags or treat the pages as separate content rather than variants. Reciprocal linking tells Google these pages are intentional alternatives, not competing versions.
The x-default tag tells search engines which page to show users whose language or region does not match any of your hreflang tags. If you serve English, Spanish, and German, the x-default typically points to your English page. This catches users in Italy, France, Japan, and everywhere else you do not explicitly serve. If you publish hreflang tags but omit x-default, Google may not know what to do with users outside your specified locales.
Duplicate hreflang values occur when the same URL appears in multiple tags on the same page, or when two language versions point to the exact same URL. For example, listing hreflang="en" twice, or having both hreflang="en" and hreflang="en-US" point to https://example.com/page. This confuses search engines about which is the primary version.
Self-referencing tags mean a page's hreflang tags should include a tag that points back to itself. The English page should reference itself as hreflang="en", not only reference other languages. Without self-reference, Google may assume the page is not the canonical version of that language and choose a different one.
Canonical tag conflicts happen when a page's hreflang tag points to one URL but its canonical tag points to another. If the English page has hreflang="en" pointing to https://example.com/en/page but the canonical tag points to https://example.com/page, the signals are mixed. Search engines prioritize the canonical tag, which may override your hreflang instruction.
Valid hreflang language and region codes
Hreflang tags require valid ISO language and region codes. Language codes use the ISO 639-1 standard (two-letter codes like 'en', 'es', 'de'). Region codes use ISO 3166-1 (two-letter codes like 'US', 'MX', 'DE'). Together they look like hreflang="en-US" for English in the United States or hreflang="es-MX" for Spanish in Mexico.
You can use language code alone (hreflang="en" for all English-speaking regions) or language plus region (hreflang="en-GB" for English specifically in the United Kingdom). If you serve the same content to multiple countries—say, the US, UK, and Canada all get the same English page—you can list them separately (hreflang="en-US", hreflang="en-GB", hreflang="en-CA") or use just hreflang="en" to cover all English speakers at once.
| Language Code | Language | Region Code | Region | Full Example |
|---|---|---|---|---|
| en | English | US | United States | hreflang="en-US" |
| es | Spanish | ES | Spain | hreflang="es-ES" |
| es | Spanish | MX | Mexico | hreflang="es-MX" |
| de | German | DE | Germany | hreflang="de-DE" |
| fr | French | FR | France | hreflang="fr-FR" |
| fr | French | CA | Canada | hreflang="fr-CA" |
| pt | Portuguese | BR | Brazil | hreflang="pt-BR" |
| zh | Chinese | CN | China | hreflang="zh-CN" |
| ja | Japanese | JP | Japan | hreflang="ja-JP" |
| x-default | Default/any locale | hreflang="x-default" |
Invalid codes like 'eng' instead of 'en', or 'US' instead of region context, are errors. This tool lists each code as written and does not validate it, so compare each one against the ISO lists: 'eng' should be 'en', and 'en-UK' should be 'en-GB' (the correct ISO code for the United Kingdom).
Common hreflang mistakes
Hreflang tags are simple in concept but easy to misconfigure at scale. The most common mistakes are:
- Missing return links: The English page points to Spanish via hreflang, but the Spanish page does not point back to English. Search engines then ignore both tags and treat the pages as separate content competing for the same audience.
- No x-default tag: All hreflang tags specify language and region, but nothing tells Google what to show users in unlisted countries. They may see a random variant instead of your intended fallback.
- Pointing hreflang to a redirect: The hreflang tag targets a URL that 301-redirects to another page. Search engines may not follow the redirect in hreflang contexts, leaving the link broken.
- Mismatched http/https or www variants: One page uses https:// in its hreflang tag, another uses http://. Or one uses www.example.com and another uses example.com. These are treated as different URLs, breaking reciprocity.
- Using hreflang in the sitemap but not in HTML: If you only list hreflang tags in your XML sitemap and never add them to page HTML, some search engines may not pick them up. Both formats work, but redundancy is safer.
- Listing the same URL multiple times with different codes: For example, hreflang="en" and hreflang="en-US" both pointing to the same https://example.com/en/page. This tells search engines the page serves multiple purposes, creating confusion.
- Forgetting the self-reference: A page's hreflang tags mention other languages but do not include a tag for its own language. Without it, Google may not treat the page as the canonical version of that language.
How hreflang errors affect rankings
When hreflang tags are missing or wrong, search engines cannot reliably determine which version of a page to show to which audience. The result is usually one of three problems: wrong-language pages in search results, duplicate content penalties, or missed ranking opportunities in specific locales.
If you publish a Spanish version of a page but do not tell Google about it via hreflang tags, Spanish-speaking users may see your English page in Spanish search results. Google will not know the Spanish version exists. Over time, the English page may rank for Spanish keywords by accident, stealing traffic that should go to the Spanish variant. Neither page ranks well because they are competing with each other instead of complementing each other.
Without correct hreflang tags, Google must guess which version is 'primary' for each language. It might choose your English version as the canonical and treat your Spanish and German pages as mere duplicates. This means those pages get little crawl budget and no independent ranking power—they are invisible in local search results.
Businesses with multiple language versions often see a sharp improvement in regional search visibility after implementing correct hreflang tags. The pages themselves do not change, but search engines now understand what they are for and serve them to the right audiences. An e-commerce site with English, Spanish, and Portuguese versions will suddenly rank for product keywords in Brazil, Mexico, and the US individually, rather than all versions fighting for the same spot.
Running a hreflang check regularly—especially after site migrations, URL structure changes, or translation updates—prevents these silent failures. A small fix to reciprocity or a missing x-default tag can unblock visibility in an entire region.