Back to Arsenal

Hreflang Tag Generator

SEO

Generate alternate-language hreflang tags for international SEO and locale mapping.

ttb run hreflang-generator
Add one locale and URL per row, then copy your hreflang tags.

Locale mappings

Generate alternate language tags for international SEO.

x-default

Generated tags

3 locale URL pairs ready.

<link rel="alternate" hreflang="en" href="https://www.example.com/" />
<link rel="alternate" hreflang="es" href="https://www.example.com/es/" />
<link rel="alternate" hreflang="fr" href="https://www.example.com/fr/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
Use lowercase ISO language codes like en, es, fr or regional variants like en-us.
Partager cet outil :

How to Use Hreflang Tag Generator

Add each language/region variant of your page: paste the URL, select the language (and optional region), then click Add. Repeat for every locale you support. When your list is complete, click Generate to get a set of <link rel="alternate" hreflang="..."> tags — add them to the <head> of every language variant, including a catch-all x-default.

1

Add your first language

Paste the URL for one language variant (e.g. your English page) and select the language code (e.g. "en").

2

Add regional variants

If you have en-US, en-GB, fr-FR, etc., add each as a separate entry with the correct lang-region code.

3

Add x-default

Add your fallback URL with the "x-default" code — this is shown when no other language matches the user.

4

Generate and deploy

Copy all generated tags and paste them into the <head> of each language variant.

Frequently Asked Questions

Do I need hreflang tags on every page?+
Only on pages that have translated or region-specific equivalents. Single-language sites do not need them.
What is x-default?+
x-default specifies the fallback page for users whose language does not match any of your variants. It is typically your primary language homepage.
Why do hreflang tags go on every variant?+
They must be reciprocal. If en-US points to fr-FR and fr-FR does not point back, Google may ignore the annotations entirely.

Free tools, weekly.

Get lightweight updates when new tools land.