Skip to main content
CodeLint.Dev Dev Tools

ISO 639 Language Codes

Two- and three-letter language codes with native and English names, for locale and hreflang work.

180 languages
639-1639-2LanguageNative NameScript
aaaarAfarAfarafLatin
ababkAbkhazianАҧсшәаCyrillic
afafrAfrikaansAfrikaansLatin
akakaAkanAkanLatin
amamhAmharicአማርኛEthiopic
araraArabicالعربيةArabic
asasmAssameseঅসমীয়াBengali
avavaAvaricавар мацӀCyrillic
ayaymAymaraaymar aruLatin
azazeAzerbaijaniazərbaycan diliLatin
babakBashkirбашҡорт телеCyrillic
bebelBelarusianбеларуская моваCyrillic
bgbulBulgarianбългарски езикCyrillic
bhbihBihariभोजपुरीDevanagari
bibisBislamaBislamaLatin
bmbamBambarabamanankanLatin
bnbenBengaliবাংলাBengali
botibTibetanབོད་ཡིགTibetan
brbreBretonbrezhonegLatin
bsbosBosnianbosanski jezikLatin
cacatCatalanCatalàLatin
cecheChechenнохчийн моттCyrillic
chchaChamorroChamoruLatin
cocosCorsicancorsuLatin
csczeCzechčeštinaLatin
cuchuChurch Slavicѩзыкъ словѣньскъCyrillic
cvchvChuvashчӑваш чӗлхиCyrillic
cywelWelshCymraegLatin
dadanDanishdanskLatin
degerGermanDeutschLatin
dvdivDivehiDhivehiThaana
dzdzoDzongkhaརྫོང་ཁTibetan
eeeweEweEʋegbeLatin
elgreGreekΕλληνικάGreek
enengEnglishEnglishLatin
eoepoEsperantoEsperantoLatin
esspaSpanishEspañolLatin
etestEstonianeesti keelLatin
eubaqBasqueeuskaraLatin
faperPersianفارسیArabic
fffulFulaFulfuldeLatin
fifinFinnishsuomen kieliLatin
fjfijFijianVakavitiLatin
fofaoFaroeseføroysktLatin
frfreFrenchFrançaisLatin
fyfryWest FrisianFryskLatin
gagleIrishGaeilgeLatin
gdglaScottish GaelicGàidhligLatin
glglgGalicianGalegoLatin
gngrnGuaraníAvañe'ẽLatin
gugujGujaratiગુજરાતીGujarati
gvglvManxGaelgLatin
hahauHausaهَوُسَArabic
hehebHebrewעבריתHebrew
hihinHindiहिन्दीDevanagari
hohmoHiri MotuHiri MotuLatin
hrhrvCroatianHrvatskiLatin
hthatHaitian CreoleKreyòl ayisyenLatin
huhunHungarianMagyarLatin
hyarmArmenianՀայերենArmenian
hzherHereroOtjihereroLatin
iainaInterlinguaInterlinguaLatin
idindIndonesianBahasa IndonesiaLatin
igiboIgboAsụsụ IgboLatin
iiiiiSichuan Yiꆈꌠ꒿Yi
ikipkInupiaqIñupiaqLatin
ioidoIdoIdoLatin
isiceIcelandicÍslenskaLatin
ititaItalianItalianoLatin
iuikuInuktitutᐃᓄᒃᑎᑐᑦCanadian Aboriginal
jajpnJapanese日本語Japanese
jvjavJavaneseꦧꦱꦗꦮJavanese
kageoGeorgianქართულიGeorgian
kgkonKongoKikongoLatin
kikikKikuyuGĩkũyũLatin
kjkuaKwanyamaKuanyamaLatin
kkkazKazakhқазақ тіліCyrillic
klkalKalaallisutkalaallisutLatin
kmkhmKhmerភាសាខ្មែរKhmer
knkanKannadaಕನ್ನಡKannada
kokorKorean한국어Hangul
krkauKanuriKanuriLatin
kskasKashmiriकश्मीरीDevanagari
kukurKurdishKurdîLatin
kvkomKomiкоми кывCyrillic
kwcorCornishKernewekLatin
kykirKyrgyzКыргызчаCyrillic
lalatLatinlatineLatin
lbltzLuxembourgishLëtzebuergeschLatin
lglugGandaLugandaLatin
lilimLimburganLimburgsLatin
lnlinLingalaLingálaLatin
lolaoLaoພາສາລາວLao
ltlitLithuanianLietuvių kalbaLatin
lulubLuba-KatangaTshilubaLatin
lvlavLatvianLatviešu valodaLatin
mgmlgMalagasyFiteny malagasyLatin
mhmahMarshalleseKajin M̧ajeļLatin
mimaoMāorite reo MāoriLatin
mkmacMacedonianМакедонски јазикCyrillic
mlmalMalayalamമലയാളംMalayalam
mnmonMongolianМонгол хэлCyrillic
mrmarMarathiमराठीDevanagari
msmayMalayBahasa MelayuLatin
mtmltMalteseMaltiLatin
myburBurmeseဗမာစာMyanmar
nanauNauruEkakairũ NaoeroLatin
nbnobNorwegian BokmålNorsk BokmålLatin
ndndeNorth NdebeleisiNdebeleLatin
nenepNepaliनेपालीDevanagari
ngndoNdongaOwamboLatin
nldutDutchNederlandsLatin
nnnnoNorwegian NynorskNorsk NynorskLatin
nonorNorwegianNorskLatin
nrnblSouth NdebeleisiNdebeleLatin
nvnavNavajoDiné bizaadLatin
nynyaChichewachiCheŵaLatin
ocociOccitanOccitanLatin
ojojiOjibweᐊᓂᔑᓈᐯᒧᐎᓐCanadian Aboriginal
omormOromoAfaan OromooLatin
ororiOdiaଓଡ଼ିଆOdia
osossOsseticирон æвзагCyrillic
papanPunjabiਪੰਜਾਬੀGurmukhi
pipliPāliपाऴिDevanagari
plpolPolishPolskiLatin
pspusPashtoپښتوArabic
ptporPortuguesePortuguêsLatin
ququeQuechuaRuna SimiLatin
rmrohRomanshRumantsch GrischunLatin
rnrunKirundiIkirundiLatin
rorumRomanianRomânăLatin
rurusRussianРусскийCyrillic
rwkinKinyarwandaIkinyarwandaLatin
sasanSanskritसंस्कृतम्Devanagari
scsrdSardiniansarduLatin
sdsndSindhiसिन्धीDevanagari
sesmeNorthern SamiDavvisámegiellaLatin
sgsagSangoyângâ tî sängöLatin
sisinSinhalaසිංහලSinhala
sksloSlovakSlovenčinaLatin
slslvSlovenianSlovenščinaLatin
smsmoSamoangagana fa'a SamoaLatin
snsnaShonachiShonaLatin
sosomSomaliSoomaaligaLatin
sqalbAlbanianShqipLatin
srsrpSerbianсрпскиCyrillic
sssswSwatiSiSwatiLatin
stsotSouthern SothoSesothoLatin
susunSundaneseBasa SundaLatin
svsweSwedishSvenskaLatin
swswaSwahiliKiswahiliLatin
tatamTamilதமிழ்Tamil
tetelTeluguతెలుగుTelugu
tgtgkTajikтоҷикӣCyrillic
ththaThaiไทยThai
titirTigrinyaትግርኛEthiopic
tktukTurkmenTürkmenLatin
tltglTagalogWikang TagalogLatin
tntsnTswanaSetswanaLatin
totonTonganFaka TongaLatin
trturTurkishTürkçeLatin
tstsoTsongaXitsongaLatin
tttatTatarтатар телеCyrillic
twtwiTwiTwiLatin
tytahTahitianReo TahitiLatin
uguigUyghurئۇيغۇرچە‎Arabic
ukukrUkrainianУкраїнськаCyrillic
ururdUrduاردوArabic
uzuzbUzbekO'zbekLatin
vevenVendaTshivenḓaLatin
vivieVietnameseTiếng ViệtLatin
vovolVolapükVolapükLatin
wawlnWalloonWalonLatin
wowolWolofWollofLatin
xhxhoXhosaisiXhosaLatin
yiyidYiddishייִדישHebrew
yoyorYorubaYorùbáLatin
zazhaZhuangSaɯ cueŋƅLatin
zhzhoChinese中文Chinese
zuzulZuluisiZuluLatin

Language tags are more than a language code

BCP 47 defines the full syntax used by HTML lang, hreflang, Accept-Language and Intl APIs. The parts, in order:

  • Language (required)ISO 639-1 two-letter where one exists (en, fr, zh), otherwise 639-2/3 three-letter (haw, fil).
  • ScriptFour letters, title case. Needed when a language is written in more than one script: zh-Hans (simplified) versus zh-Hant (traditional), sr-Latn versus sr-Cyrl.
  • RegionTwo-letter ISO 3166 country code, uppercase. en-GB, en-US, pt-BR, pt-PT. This is what distinguishes spelling, date formats and vocabulary.
  • Variant and extensionsRarely needed. de-CH-1901 for pre-reform Swiss German orthography; -u- extensions carry locale preferences such as calendar and numbering system.

About

The Language Codes reference covers all ISO 639-1 two-letter and ISO 639-2 three-letter language codes along with the native name of each language, the English name, and the primary writing script. This is the go-to reference for internationalisation (i18n), locale configuration, HTTP Accept-Language headers, and language selection in applications.

How to use

  1. 1 Search by language name or code (e.g. "French" or "fr").
  2. 2 Filter by script (Latin, Cyrillic, Arabic, etc.) using the dropdown.
  3. 3 Click any row to copy the ISO 639-1 or ISO 639-2 code.
What is the difference between ISO 639-1 and ISO 639-2 language codes?
ISO 639-1 defines two-letter codes (like "en" for English, "fr" for French, "zh" for Chinese) for 184 of the most widely used languages. ISO 639-2 defines three-letter codes for a broader set of over 500 languages. Most web and software contexts use ISO 639-1 codes, often combined with a region subtag (e.g. "en-US", "zh-TW") to form a BCP 47 language tag.
Where are language codes used in web development?
Language codes appear in: the HTML lang attribute (<html lang="en">), the HTTP Content-Language and Accept-Language headers, the <meta name="content-language"> tag, hreflang attributes for international SEO, JavaScript's Intl API for locale-aware formatting, and i18n libraries like i18next and vue-i18n.
What language code should I use for Chinese — zh, zh-CN, or zh-TW?
"zh" identifies the Chinese language in general. "zh-CN" specifies Simplified Chinese as used in mainland China. "zh-TW" specifies Traditional Chinese as used in Taiwan. Use "zh-CN" or "zh-TW" whenever you need to distinguish between the two writing systems, as they use different character sets and fonts.