Hreflang Generator & Validator

Ready

The pages in the set

One per line: the hreflang value, a pipe, then the absolute URL. Or paste the <link> elements from a live page and they will be read instead.

Each entry

Put this on every page in the set


        

The same block, unchanged, on all of them — including the link that points at the page it is sitting on. That is what makes the annotations reciprocal, and reciprocal is the only way they are honoured.

As an HTTP header


        

For anything that is not HTML — a PDF in four languages has nowhere to put a link element.

Checked in this browser — nothing is uploaded and no page is fetched, which is also the limit: reciprocity is a property of the other pages and cannot be confirmed from here. Codes are checked against ISO 639-1 and ISO 3166-1 rather than against the browser, because the browser hides the commonest mistake: Intl.Locale('en-UK') silently reports its region as GB, and Intl.DisplayNames will happily name UK "United Kingdom".

The Hreflang Generator needs JavaScript: the codes are checked and the markup built in this browser. With JavaScript switched off there is nothing to do the work.