All 183 two-letter ISO 639-1 language codes in one table, for hreflang tags, store translations, product feeds and Accept-Language headers.
When an hreflang tag is rejected or a translation feed fails, the cause is nearly always a bad language code: a capital letter, three letters where two belong, or a locale where a plain language was expected. This page lists every two-letter ISO 639-1 code from the open dataset.
Data checked: July 24, 2026 against the open ISO 639-1 dataset. It contains 183 codes.
A code alone names the language. Pair it with a region and you get a locale, the value most feeds and hreflang tags want.
| Place | What it uses |
|---|---|
| hreflang tags | hreflang="en" or a locale like hreflang="en-gb" |
| HTML lang attribute | <html lang="de"> |
| Accept-Language header | The browser sends codes like fr, en;q=0.8 |
| Store translations | Each translated version is keyed to a language code |
| Product feeds | Google and Meta content-language fields expect the code |
Codes are two letters, lowercase. Names are copied verbatim from the dataset, including its listed synonyms.
| Code | Language |
|---|---|
aa | Afar |
ab | Abkhazian |
ae | Avestan |
af | Afrikaans |
ak | Akan |
am | Amharic |
an | Aragonese |
ar | Arabic |
as | Assamese |
av | Avaric |
ay | Aymara |
az | Azerbaijani |
ba | Bashkir |
be | Belarusian |
bg | Bulgarian |
bi | Bislama |
bm | Bambara |
bn | Bengali |
bo | Tibetan |
br | Breton |
bs | Bosnian |
ca | Catalan; Valencian |
ce | Chechen |
ch | Chamorro |
co | Corsican |
cr | Cree |
cs | Czech |
cu | Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic |
cv | Chuvash |
cy | Welsh |
da | Danish |
de | German |
dv | Divehi; Dhivehi; Maldivian |
dz | Dzongkha |
ee | Ewe |
el | Modern Greek (1453-) |
en | English |
eo | Esperanto |
es | Spanish; Castilian |
et | Estonian |
eu | Basque |
fa | Persian |
ff | Fulah |
fi | Finnish |
fj | Fijian |
fo | Faroese |
fr | French |
fy | Western Frisian |
ga | Irish |
gd | Gaelic; Scottish Gaelic |
gl | Galician |
gn | Guarani |
gu | Gujarati |
gv | Manx |
ha | Hausa |
he | Hebrew |
hi | Hindi |
ho | Hiri Motu |
hr | Croatian |
ht | Haitian; Haitian Creole |
hu | Hungarian |
hy | Armenian |
hz | Herero |
ia | Interlingua (International Auxiliary Language Association) |
id | Indonesian |
ie | Interlingue; Occidental |
ig | Igbo |
ii | Sichuan Yi; Nuosu |
ik | Inupiaq |
io | Ido |
is | Icelandic |
it | Italian |
iu | Inuktitut |
ja | Japanese |
jv | Javanese |
ka | Georgian |
kg | Kongo |
ki | Kikuyu; Gikuyu |
kj | Kuanyama; Kwanyama |
kk | Kazakh |
kl | Kalaallisut; Greenlandic |
km | Central Khmer |
kn | Kannada |
ko | Korean |
kr | Kanuri |
ks | Kashmiri |
ku | Kurdish |
kv | Komi |
kw | Cornish |
ky | Kirghiz; Kyrgyz |
la | Latin |
lb | Luxembourgish; Letzeburgesch |
lg | Ganda |
li | Limburgan; Limburger; Limburgish |
ln | Lingala |
lo | Lao |
lt | Lithuanian |
lu | Luba-Katanga |
lv | Latvian |
mg | Malagasy |
mh | Marshallese |
mi | Maori |
mk | Macedonian |
ml | Malayalam |
mn | Mongolian |
mr | Marathi |
ms | Malay |
mt | Maltese |
my | Burmese |
na | Nauru |
nb | Norwegian Bokmål |
nd | North Ndebele |
ne | Nepali |
ng | Ndonga |
nl | Dutch; Flemish |
nn | Norwegian Nynorsk |
no | Norwegian |
nr | South Ndebele |
nv | Navajo; Navaho |
ny | Chichewa; Chewa; Nyanja |
oc | Occitan (post 1500) |
oj | Ojibwa |
om | Oromo |
or | Oriya |
os | Ossetian; Ossetic |
pa | Panjabi; Punjabi |
pi | Pali |
pl | Polish |
ps | Pushto; Pashto |
pt | Portuguese |
qu | Quechua |
rm | Romansh |
rn | Rundi |
ro | Romanian; Moldavian; Moldovan |
ru | Russian |
rw | Kinyarwanda |
sa | Sanskrit |
sc | Sardinian |
sd | Sindhi |
se | Northern Sami |
sg | Sango |
si | Sinhala; Sinhalese |
sk | Slovak |
sl | Slovenian |
sm | Samoan |
sn | Shona |
so | Somali |
sq | Albanian |
sr | Serbian |
ss | Swati |
st | Sotho, Southern |
su | Sundanese |
sv | Swedish |
sw | Swahili |
ta | Tamil |
te | Telugu |
tg | Tajik |
th | Thai |
ti | Tigrinya |
tk | Turkmen |
tl | Tagalog |
tn | Tswana |
to | Tonga (Tonga Islands) |
tr | Turkish |
ts | Tsonga |
tt | Tatar |
tw | Twi |
ty | Tahitian |
ug | Uighur; Uyghur |
uk | Ukrainian |
ur | Urdu |
uz | Uzbek |
ve | Venda |
vi | Vietnamese |
vo | Volapük |
wa | Walloon |
wo | Wolof |
xh | Xhosa |
yi | Yiddish |
yo | Yoruba |
za | Zhuang; Chuang |
zh | Chinese |
zu | Zulu |
Source: the open datasets/language-codes dataset (ISO 639-1). Checked July 2026.
ISO 639-1 is the international standard that gives each major language a two-letter code, such as en for English and de for German. It is the code used by hreflang tags, the HTML lang attribute and most localization systems.
A language code is the language alone, like es. A locale pairs it with a region, like es-ES for Spain or es-MX for Mexico, following the BCP 47 format language-REGION. Product feeds and hreflang tags usually expect the locale pair when you sell to more than one region.
Use nb if your text is Bokmal and nn if it is Nynorsk, since those are the two written forms. Use no only as a general fallback for Norwegian when the written form is not specified.
ISO 639-1 codes the language, so Chinese is zh. Written variants are handled by adding a script or region in BCP 47, for example zh-Hans for Simplified and zh-Hant for Traditional. Those script subtags are not part of ISO 639-1 itself.