Language Code Lookup

Validate language tags and find the codes that are a language in one place and a country in another.

One per line: en, pt-BR, zh-Hant-TW, hindi, uk. Either direction works.

100 runs left today · sign up for more

About this tool

Looks up language tags, validates their structure, and flags the codes that mean one thing as a language and something else as a country.

That last part is the reason this exists. **`ar` is Arabic, not Argentina. `ca` is Catalan, not Canada. `uk` is Ukrainian, not the United Kingdom. `se` is Northern Sami, not Sweden.** Each is also a country code somewhere, and the two namespaces overlap without warning — which is how a site ends up declaring `hreflang="uk"` for its British pages and telling search engines they are in Ukrainian.

The validation comes from ISO 639-1 rather than a list written by hand, because hand-written lists of these get some of them wrong every time. It is the same source the hreflang tools use.

Search by code or by language name, and the structure of a full tag — language, script, region — is checked as well.

Common questions

Why is uk not the United Kingdom?

Because language codes and country codes are separate standards that happen to share a two-letter shape. In ISO 639-1, uk is Ukrainian. British English is en-GB, and hreflang="uk" tells a search engine your page is in Ukrainian.

When do I need a region subtag?

Only when it changes something. en-GB against en-US matters for spelling and for a screen reader accent; pt-BR against pt-PT matters for vocabulary. Where nothing differs, the bare language code targets everybody who speaks it.

What is a script subtag?

It names the writing system, and it matters where a language has more than one. zh-Hans is simplified Chinese and zh-Hant is traditional — the same language, mutually unreadable in writing. It goes between the language and the region: zh-Hant-TW.

Should the code be lower case?

Case is not significant to any parser. The convention is lower-case language, title-case script and upper-case region — en-Latn-GB — which is what the normalised column shows.