a subtag by searching for text in the descriptions See note 2.

Look up
one or more subtags See note 3.

whether a hyphen-separated tag is valid and well-formed See note 4.

all tags of the following type

Results appear here


Produce a list of tags

BCP 47 language tags are built from subtags in the IANA Subtag Registry. This tool helps you find or look up subtags and check for errors in language tags.

Supports the IANA Subtag registry of . The tool currently reports subtags for languages, extlangs, scripts, regions, variants, and 26 grandfathered subtags.

Show more

Read Choosing a Language Tag for step-by-step guidelines on creating language tags. This tool also provides information to guide your choices.

Basic use

1 Raw data. Click on the results with a coloured background to see the raw IANA data for a subtag.

2 Find. The description is the name of the subtag, ie. the language, region, etc. You can search on any part of a description (eg. eng gives results that include Bengali, English and Tengwar). Note that some languages may be spelled differently, eg. Panjabi yields three results, but Punjabi only one.

3 Look up. Looks up all forms of all subtags in the list, eg. it returns both a language and extlang subtag for cmn, and it returns both language and region subtags for the CA in en-CA. Subtags can be separated by commas, semicolons, hyphens, or spaces, eg. en; fr, ca, Bali-1901.
Only exact matches of subtags are returned, ie. ak doesn't match akk.
If there is no output for a tag, it was not a valid tag in the registry.

4 Check. Looks up all subtags in a language tag (ie. a hyphen-separated list of subtags) and reports problems, if there are any, eg. de-419-DE-alt and ms-cmn.
Warnings are also displayed to guide you in language choices. Example: ms-min-Latn.

5  Icon with C on it provides a link from a language subtag entry to the Character Usage app. This provides details of characters used by the language, often in multiple orthographies. Macrolanguages have redirects to child languages in the Character Usage app.

6  Icon with E on it provides a link from a language subtag entry to the SIL Ethnologue. This is useful when trying to find a language. If there is no page for a given language tag, such as nn, click on the result to reveal the full record; if there is a macrolanguage specified, eg. 'no', that will probably yield an ethnologue entry.

7  Icon with U on it provides a link from a script subtag entry to the most relevant Unicode script block in UniView.
In some cases, there are additional Unicode areas dedicated to the same script. These can usually be easily found alongside the current block in UniView's pull-down control.
Some very large blocks such as Han, Hangul and Egyptian Hieroglyphs are not linked to. Other scripts do not yet have Unicode blocks.

8  Icon with W on it provides a link from a language or script subtag entry to search Wikipedia. It uses the description as the search key.

9 Grandfathered tags are pre-RFC 4646 registrations of tags that cannot be completely composed from the subtags in the current registry. If you search for a grandfathered tag it will be displayed in the results, and the subtags that are in the current registry will also be shown.

10 Redundant tags are pre-RFC 4646 registrations of tags that can now be formed by combining separate subtags from the current registry. They do not show up in search results.


The section Produce a list of tags does what it says. It provides a way to create a simple list from the results that you can copy to another location.

The default format lists the description followed by the subtag value in square brackets, however you can reverse the order, leave one out, or add any preferred extra text. For example, you could try $subtag = $desc or <span class="subtag">$subtag</span><span class="description">$desc</span>. Items are separated by commas in the output.

Passing parameters

You can set the URL of the page to show a particular result. (This was used for the examples above.) It's particularly useful if you want to share results with others.

To do so, simply add ?keyword=data to the end of the URL, where keyword is one of: find, lookup, check, or list, and data is the value you want to search for or test.

For example: ?check=de-419-DE-alt.

Related links

About language subtags

IANA subtag registry

See Twitter for updates. Latest commit 2021-08-10 14:38 GMT. Make a comment. Licence CC-By © r12a