Skip to content
Zoyku

hreflang Generator

Build a complete hreflang link cluster — one link per language plus x-default — from your translated URLs, consistent and bidirectional.

hreflang cluster

Checklist

  • Return the complete cluster on every page in the set — hreflang is bidirectional and must include a self-reference.
  • All URLs must be absolute and fully qualified.
  • x-default is for users whose language matches none of the versions: a language selector or the default-language homepage.
  • Prefer zh-Hans / zh-Hant over bare zh; add a region subtag like pt-BR only when the content truly differs by region.
  • Pair each hreflang page with its own self-referencing canonical — hreflang does not replace canonical.

This tool runs entirely in your browser. Your data never leaves your device — it is not uploaded to any server.

How to use

  1. 1Paste the absolute URL of each translated version; leave blank the languages you do not have.
  2. 2Set the x-default URL — your language selector or default homepage.
  3. 3Copy the cluster into the <head> of every page in the set.

hreflang Generator

hreflang tells search engines which URL to serve to speakers of each language, which prevents near-duplicate translations from competing with each other. The clusters are bidirectional: every localized page must return the complete set, including a reference back to itself.

Enter the URL of each language version and the generator emits the full <link rel="alternate"> cluster plus x-default, which should point at your language selector or default-language homepage.

Frequently asked questions

Does every page need the full hreflang set?

Yes. Clusters must be reciprocal: page A lists page B and itself, and B lists A and itself. A cluster with missing members gets partially ignored, and the effort is wasted.

Should I use zh or zh-Hans?

Prefer zh-Hans for Simplified and zh-Hant for Traditional; a bare zh leaves the script undefined. Region subtags like pt-BR are optional — target the language first and add a region only when content truly differs, as with pt-BR vs pt-PT.

Does hreflang replace a canonical tag?

No. Each language version still needs its own self-referencing canonical. hreflang selects among equivalent translated pages; canonical resolves duplicates within one language.

Related tools

All SEO tools →

Embed this tool

Put this tool on your own site with one line — it runs entirely in the visitor's browser.

<iframe src="https://zoyku.com/en/tools/hreflang-generator?embed=1" width="100%" height="640" style="border:0;border-radius:16px" title="Zoyku — hreflang-generator" loading="lazy"></iframe>
100% local processing