Language code


A language code is a code that assigns letters or numbers as identifiers or classifiers for languages. These codes may be used to organize library collections or presentations of data, to choose the correct localizations and translations in computing, and as a shorthand designation for longer forms of language names.

Difficulties of classification

Language code schemes attempt to classify the complex world of human languages, dialects, and variants. Most schemes make some compromises between being general and being complete enough to support specific dialects.
For example, Spanish is spoken in over 20 countries in North America, Central America, the Caribbean, and Europe. Spanish spoken in Mexico will be slightly different from Spanish spoken in Peru. Different regions of Mexico will have slightly different dialects and accents of Spanish. A language code scheme might group these all as "Spanish" for choosing a keyboard layout, most as "Spanish" for general usage, or separate each dialect to allow region-specific variation.

Common schemes

SchemeNotesExamples for EnglishExamples for Spanish
Glottolog codesCreated for minority languages as a scientific alternative to the industrial ISO 639‑3 standard.
Intentionally do not resemble abbreviations.

  • stan1293standard English
  • macr1271 – macro-English
  • midd1317 – Middle English
  • merc1242 – Mercian
  • olde1238Old English
  • angl1265 – Anglian
  • stan1288 – standard Spanish
  • olds1249Old Spanish
  • cast1243 – Castilic
  • IETF language tagAn IETF best practice, specified by BCP 47, for language tags easy to parse by computer. The tag system is extensible to region, dialect, and private designations. It references ISO 639, ISO 3166 and ISO 15924.
  • en – English, as shortest ISO 639 code.
  • en-US – English as used in the United States
  • es – Spanish, as shortest ISO 639 code.
  • es-419 – Spanish appropriate for the Latin America and Caribbean region, using the UN M.49 region code
  • ISO 639‑1Two-letter code system made official in 2002, containing 136 codes at the time. Many systems use two-letter ISO 639‑1 codes supplemented by three-letter ISO 639‑2 codes when no two-letter code is applicable.There are 183 two-letter codes registered as of June 2021.
    See: List of ISO 639 language codes

    • en
  • es – Spanish
  • ISO 639‑2Three-letter system of 464 codes.See: List of ISO 639-2 codes
  • spa – Spanish
  • ISO 639‑3An extension of ISO 639‑2 to cover all known, living or dead, spoken or written languages in 7,589 entries.See: List of ISO 639-3 codes
  • spa – Spanish
  • spq – Spanish, Loreto-Ucayali
  • ssp – Spanish sign language
  • Linguasphere Register code-systemTwo-digit + one to six letter Linguasphere Register code-system published in 2000, containing over 32,000 codes within 10 sectors of reference, covering the world's languages and speech communities.Within hierarchy of Linguasphere Register code-system:
    • 5= Indo-European phylosector
    • 52= Germanic phylozone
    • 52-A Germanic set
    • 52-AB English + Anglo-Creole chain
    • 52-ABA English net
    • 52-ABA-c Global English
    52-ABA-ca to 52-ABA-cwe
    Compare: 52-ABA-a Scots + Northumbrian
    outer unit & 52-ABA-b "Anglo-English" outer unit

    Within hierarchy of Linguasphere Register code-system:
    • 5= Indo-European phylosector
    • 51= Romanic phylozone
    • 51-A Romance set
    • 51-AA Romance chain
    • 51-AAA West Romance net
    • 51-AAA-b Español/Castellano
    51-AAA-ba to 51-AAA-bkk
    Compare: 51-AAA-a Português + Galego outer unit & 51-AAA-c Astur + Leonés outer unit, etc.
    SIL codes Codes created for use in the Ethnologue, a publication of SIL International that lists language statistics. The publication now uses ISO 639‑3 codes.ENGSPN
    Verbix language codesConstructed codes starting with old SIL codes and adding more information.ENGSPN