CometWeb tools
Hreflang generator & checker
Generate a set or check yours · locally in your browser
— — Pick from the list or type a code: language per ISO 639-1, region per ISO 3166-1. British English is en-GB, not en-UK.
The version for visitors whose language matches none of the above, such as a language selector page.
Add at least two versions
Enter the language, an optional region and the full URL of each version. The code updates as you type and nothing is uploaded.
The code appears once you add versions…
The hreflang generator turns a list of language versions into ready <link> tags for the <head>, XML sitemap entries and an HTTP Link header. The hreflang checker validates pasted annotations locally in your browser: language tag syntax, self referencing hreflang, absolute URLs, duplicates and x-default. It does not fetch pages, so it cannot prove reciprocity between two URLs — instead it generates the set every language version has to carry.
Why hreflang usually fails
The most common cause is a missing self reference. Teams declare only the "other" versions, but the annotations describe the whole cluster — without a self reference the set can be disregarded entirely.
The second is a missing return tag. If A names B, B must name A. That cannot be checked from one page, which is why this tool generates the set you paste onto every version.
The third is URLs that do not return 200. An entry pointing at a redirect, a 404 or a noindex page does not work and can invalidate the whole set.
Validation runs locally in your browser — the tags you paste are not sent to CometWeb. This tool checks neither HTTP status nor reciprocity, because it fetches nothing.
Connect equivalent content
Build a set of language versions for the same product, article or category. Do not connect unrelated topics simply because they use different languages. Review language and region codes and destination URLs before copying the tags.
Google Search Central · Localized versions ↗Parts of an annotation
- SRSelf referencing hreflang
- The entry pointing at the URL of the page carrying it. Required in every complete set.
- RTReturn tags
- Reciprocity: if A declares B, B must declare A. One-sided annotations are ignored.
- XDx-default
- The version for audiences outside the declared languages and regions — a language selector, for instance.
- BCPBCP 47
- The language tag standard: language (pl), language-REGION (en-GB), optionally with a script (zh-Hant-TW).
Pick one method per set of URLs. Tags in the <head> are simplest for HTML pages, the sitemap suits many versions and large URL counts, and the HTTP Link header is the only option for files without a <head>, such as PDFs.
Yes. Analysis happens in your browser and the tags you paste are not sent to CometWeb. That is also why it does not fetch pages or check HTTP status codes.
GB is a country code, not a language. The first position of the tag must be an ISO 639-1 language, with the region as an optional addition — British English is en-GB.
No. It is optional but useful when you run several regional versions of one language, or a page with a language selector.
What else might come in handy
Indexability, metadata and structure — with priorities and a client report.