Hreflang tag generator
Generate reciprocal locale links with language and region checks.
How to use Hreflang tag generator
Hreflang Tag Generator turns a list of language codes and URLs into link rel=alternate hreflang tags for the head of your pages. Enter one language and URL pair per line, separated by a comma, up to 100 lines. Language tags are checked for format and duplicates, URLs must use HTTP or HTTPS, and an optional x-default URL is appended.
- Paste the source into the input editor, or load the built-in example.
- Adjust the basic settings, then open Advanced mode for export and fine-tuning options. Custom settings stay active when the panel is closed.
- Run hreflang tag generator, review the output, then use the available copy or download controls.
What this tool supports
Generate reciprocal locale links with language and region checks.
- x-default URL (optional)
- Set this value for your task.
Limits and processing
CSV/XLSX inputs are capped at 10 MB each, 200 columns and 20,000 rows; joined output is capped at 20,000 rows. JSONPath script/filter evaluation is disabled. Other operations apply their visible controls and text limits.
Example source
en,https://example.com/en es,https://example.com/es
Frequently asked questions
What input format does the hreflang tag generator expect?
Put one pair per line as a language tag, a comma and the full URL, for example en,https://example.com/en. Tags must start with a two- or three-letter language code and can add region or script parts, such as en-GB or zh-Hant.
Do I need to add the hreflang tags to every language version?
Yes. The complete reciprocal set should appear on every equivalent page, including a tag pointing to the page itself, so each version references all the others. Use the same generated block across the whole group.
How do I add an x-default hreflang tag?
Enter a URL in x-default URL and a tag with hreflang x-default is added after your language tags. The field starts with an example address, so replace it or clear it to omit the tag. The URL must use HTTP or HTTPS.
Where is my input processed?
This operation processes its source in your browser. Copy and download are explicit actions; source input is not saved in an account or history.
What are the input limits?
CSV/XLSX inputs are capped at 10 MB each, 200 columns and 20,000 rows; joined output is capped at 20,000 rows. JSONPath script/filter evaluation is disabled. Other operations apply their visible controls and text limits.