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
- 1Paste the absolute URL of each translated version; leave blank the languages you do not have.
- 2Set the x-default URL — your language selector or default homepage.
- 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
Canonical Tag Generator
Generate a correct rel=canonical link tag and learn how to normalize URLs so search engines index the one version you want.
All tools →
XML Sitemap Generator
Paste a URL list and get a valid sitemap.xml with lastmod, per-section changefreq and priority — deduplicated and ready to submit.
All tools →
Meta Tag Generator
Generate title, description, keywords, robots and viewport meta tags with live HTML output you can paste straight into your <head>.
All 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>