Language subtag: the part of a code that has to be there
The language subtag is the first and only required part of a code. It is usually two letters, sometimes three, and a few languages have both an old two-letter code and a newer three-letter one that mean nearly the same thing. As of 2026-09-22.
| Shape | Typical case | What it implies about the language |
|---|---|---|
| Two letters | Most widely used languages | It was coded early |
| Three letters | Languages coded later, or standardised later | An older two-letter code may exist beside it |
| Two codes in use | A national standard built on a named language | Two vendors can name one market differently |
Inclusion rule. The shapes that appear in the declarations this register reads. Codes for language collections and for historical languages do not appear. Order. Shortest form first.
1Two letters or three, for historical reasons
The two-letter list was drawn up first and covers the languages that were obviously needed. The three-letter list is far larger and was built to cover everything else, including languages that later acquired a standardised national form.
Both are current, and neither is more correct. What matters for a register is that a string comparison treats them as different, so two vendors addressing one market can appear to address two.
2When one language has two codes
A national language standardised on top of an existing one often ends up with a code for each. Tooling defaults decide which one a vendor emits, and the markup gives no way to tell which of the two senses the page intends.
This register merges such cases by language and prints both codes, so the merge is visible. Doing it silently would hide a real editorial decision behind a count that looked mechanical.
3What a bare subtag settles
It settles the language and nothing else. For a written page in a language with one national standard, that is very nearly everything a reader needs, and for a page in Spanish or Portuguese it is roughly half of it.
For speech it settles much less. An audience hears a variety rather than a language, and a bare subtag beside a voice inventory leaves the one question a casting decision turns on unanswered.
A definition, not a measurement: no vendor figure appears here that is not also in the register. Cases where two codes name one language are recorded on the language pages themselves.
Nearby terms: Language tag, Region subtag. The whole vocabulary is at terms; nothing on this page is a claim about a named product.