Generate hreflang tags for a multi-language or multi-region site, free — with duplicate and format checks.
Generate the hreflang tags that tell Google which version of a page to show searchers in a specific language or region — without needing to memorize the exact attribute syntax or language/region code format.
Each tag needs a language code (like en for English, or fr for French), optionally combined with a region code (like en-gb for UK English, distinct from en-us for US English) — language alone targets everyone who reads that language regardless of location, while adding a region narrows it further. The special x-default value marks the page to show when none of the other language/region tags match a visitor, most commonly used for a generic language-selector or global landing page.
A very common real mistake is a missing or broken reciprocal link — every page listed should also list every other page back, including itself. This tool doesn't verify the pages listed actually exist or link back to each other; it generates syntactically correct tags to paste into your own pages, but the reciprocal linking itself is on you to set up correctly across pages.
Worked example: a US page, a UK page, and a default fallback generate three tags: hreflang="en-us" pointing to the US URL, hreflang="en-gb" pointing to the UK URL, and hreflang="x-default" pointing back to the US page as the fallback for visitors who don't match either specific region. All three tags need to appear on all three pages — not just the page they describe — for Google to trust the relationship; a one-directional link is treated as unreliable and often ignored entirely.
Just a language code (like en) targets everyone who reads that language, anywhere. Adding a region (like en-gb) narrows it to a specific country’s version — use whichever matches how your content actually varies by version.
It marks which version to show a visitor when none of your other language/region tags match them — commonly a language-selector page or your most general/global version.
No — it generates syntactically correct tags for the URLs and codes you enter, but doesn’t verify those pages exist or reciprocally list each other, which is a common real source of hreflang errors worth double-checking yourself.
In the <head> section of every page listed, with the complete same set of tags (including a self-referencing one) repeated identically across all of them.