An (in)complete list of "navigator.languages" in browsers (a.k.a IETF Language Tag or BCP47)

How to reproduce this list:

  1. Open Chrome's settings page (chrome://settings/languages).
  2. Add all language.
  3. Open console and enter navigator.languages and voila! You see the result.

But this is incomplete. Why?

I usually use Chrome in Japanese language. Before starting to make this list, I tried to run

console.log(navigator.languages)

, then I got ["ja-JP", "ja"]. After testing, I removed all languages except English and re-added Japanese. Then ja-JP never appeared again on the list.

What this tells us is that the list is a lower limit, therefore you should not reject any language tags that are not on the list.

Tested on

Chrome 107.0.5304.107 on Windows 11

tag Language
af Afrikaans
am Amharic
an Aragonese
ar Arabic
ast Asturian
az Azerbaijani
be Belarusian
bg Bulgarian
bn Bangla
br Breton
bs Bosnian
ca Catalan
ceb Cebuano
chr Cherokee
ckb Central Kurdish
co Corsican
cs Czech
cy Welsh
da Danish
de German
de-AT German (Austria)
de-CH German (Switzerland)
de-DE German (Germany)
de-LI German (Liechtenstein)
el Greek
en English
en-AU English (Australia)
en-CA English (Canada)
en-GB English (United Kingdom)
en-GB-oxendict English (United Kingdom, Oxford English Dictionary spelling)
en-IN English (India)
en-NZ English (New Zealand)
en-US English (United States)
en-ZA English (South Africa)
eo Esperanto
es Spanish
es-419 Spanish (Latin America)
es-AR Spanish (Argentina)
es-CL Spanish (Chile)
es-CO Spanish (Colombia)
es-CR Spanish (Costa Rica)
es-ES Spanish (Spain)
es-HN Spanish (Honduras)
es-MX Spanish (Mexico)
es-PE Spanish (Peru)
es-US Spanish (United States)
es-UY Spanish (Uruguay)
es-VE Spanish (Venezuela)
et Estonian
eu Basque
fa Persian
fi Finnish
fil Filipino
fo Faroese
fr French
fr-CA French (Canada)
fr-CH French (Switzerland)
fr-FR French (France)
fy Western Frisian
ga Irish
gd Scottish Gaelic
gl Galician
gn Guarani
gu Gujarati
ha Hausa
haw Hawaiian
he Hebrew
hi Hindi
hmn Hmong
hr Croatian
ht Haitian Creole
hu Hungarian
hy Armenian
ia Interlingua
id Indonesian
ig Igbo
is Icelandic
it Italian
it-CH Italian (Switzerland)
it-IT Italian (Italy)
ja Japanese
jv Javanese
ka Georgian
kk Kazakh
km Khmer
kn Kannada
ko Korean
ku Kurdish
ky Kyrgyz
la Latin
lb Luxembourgish
ln Lingala
lo Lao
lt Lithuanian
lv Latvian
mg Malagasy
mi Māori
mk Macedonian
ml Malayalam
mn Mongolian
mo Romanian (Moldova)
mr Marathi
ms Malay
mt Maltese
my Burmese
nb Norwegian Bokmål
ne Nepali
nl Dutch
nn Norwegian Nynorsk
no Norwegian
ny Nyanja
oc Occitan
om Oromo
or Odia
pa Punjabi
pl Polish
ps Pashto
pt Portuguese
pt-BR Portuguese (Brazil)
pt-PT Portuguese (Portugal)
qu Quechua
rm Romansh
ro Romanian
ru Russian
rw Kinyarwanda
sd Sindhi
sh Serbo-Croatian
si Sinhala
sk Slovak
sl Slovenian
sm Samoan
sn Shona
so Somali
sq Albanian
sr Serbian
st Southern Sotho
su Sundanese
sv Swedish
sw Swahili
ta Tamil
te Telugu
tg Tajik
th Thai
ti Tigrinya
tk Turkmen
tn Tswana
to Tongan
tr Turkish
tt Tatar
tw Twi
ug Uyghur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
wa Walloon
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zh Chinese
zh-CN Chinese (Simplified)
zh-HK Chinese (Hong Kong)
zh-TW Chinese (Traditional)
zu Zulu