Language codes

ISO 639-1, ISO 639-3 and BCP 47 locales, in one table you can filter.

184 languages

Language Native name ISO 639-1 ISO 639-3 BCP 47 locales
Abkhazian Аҧсуа
Afar Afaraf
Afrikaans Afrikaans
Akan Akan
Albanian Shqip
Amharic አማርኛ
Arabic العربية
Aragonese Aragonés
Armenian Հայերեն
Assamese অসমীয়া
Avaric Авар
Avestan avesta
Aymara Aymar
Azerbaijani Azərbaycanca
Bambara Bamanankan
Bangla বাংলা
Bashkir Башҡортса
Basque Euskara
Belarusian Беларуская
Bhojpuri भोजपुरी
Bislama Bislama
Bosnian Bosanski
Breton Brezhoneg
Bulgarian Български
Burmese မြန်မာဘာသာ
Catalan Català
Chamorro Chamoru
Chechen Нохчийн
Chinese 中文
Church Slavic Словѣ́ньскъ
Chuvash Чӑвашла
Cornish Kernewek
Corsican Corsu
Cree ᓀᐦᐃᔭᐍᐏᐣ
Croatian Hrvatski
Czech Čeština
Danish Dansk
Divehi Divehi
Dutch Nederlands
Dzongkha རྫོང་ཁ
English English
Esperanto Esperanto
Estonian Eesti
Ewe Eʋegbe
Faroese Føroyskt
Fijian Na Vosa Vaka-Viti
Filipino Tagalog
Finnish Suomi
French Français
Fula Fulfulde
Galician Galego
Ganda Luganda
Georgian ქართული
German Deutsch
Greek Ελληνικά
Guarani Avañe'ẽ
Gujarati ગુજરાતી
Haitian Creole Kreyòl Ayisyen
Hausa هَوُسَ
Hebrew עברית
Herero Otjiherero
Hindi हिन्दी
Hiri Motu Hiri Motu
Hungarian Magyar
Icelandic Íslenska
Ido Ido
Igbo Igbo
Indonesian Bahasa Indonesia
Interlingua Interlingua
Interlingue Interlingue
Inuktitut ᐃᓄᒃᑎᑐᑦ
Inupiaq Iñupiak
Irish Gaeilge
Italian Italiano
Japanese 日本語
Javanese Basa Jawa
Kalaallisut Kalaallisut
Kannada ಕನ್ನಡ
Kanuri Kanuri
Kashmiri كشميري
Kazakh Қазақша
Khmer ភាសាខ្មែរ
Kikuyu Gĩkũyũ
Kinyarwanda Kinyarwanda
Komi Коми
Kongo Kongo
Korean 한국어
Kuanyama Kuanyama
Kurdish Kurdî
Kyrgyz Кыргызча
Lao ພາສາລາວ
Latin Latina
Latvian Latviešu
Limburgish Limburgs
Lingala Lingála
Lithuanian Lietuvių
Luba-Katanga Tshiluba
Luxembourgish Lëtzebuergesch
Macedonian Македонски
Malagasy Malagasy
Malay Bahasa Melayu
Malayalam മലയാളം
Maltese Malti
Manx Gaelg
Māori Māori
Marathi मराठी
Marshallese Kajin M̧ajeļ
Mongolian Монгол
Nauru Dorerin Naoero
Navajo Diné Bizaad
Ndonga Owambo
Nepali नेपाली
North Ndebele isiNdebele
Northern Sami Sámegiella
Norwegian Norsk
Norwegian Bokmål Norsk (Bokmål)
Norwegian Nynorsk Norsk (Nynorsk)
Nyanja Chichewa
Occitan Occitan
Odia ଓଡି଼ଆ
Ojibwa ᐊᓂᔑᓈᐯᒧᐎᓐ
Oromo Afaan Oromoo
Ossetic Ирон æвзаг
Pali पाऴि
Pashto پښتو
Persian فارسی
Polish Polski
Portuguese Português
Punjabi ਪੰਜਾਬੀ
Quechua Runa Simi
Romanian Română
Romansh Rumantsch
Rundi Kirundi
Russian Русский
Samoan Gagana Sāmoa
Sango Sängö
Sanskrit संस्कृतम्
Sardinian Sardu
Scottish Gaelic Gàidhlig
Serbian Српски
Shona ChiShona
Sichuan Yi ꆈꌠ꒿ Nuosuhxop
Sindhi سنڌي‎
Sinhala සිංහල
Slovak Slovenčina
Slovenian Slovenščina
Somali Soomaaliga
South Ndebele isiNdebele
Southern Sotho Sesotho
Spanish Español
Sundanese Basa Sunda
Swahili Kiswahili
Swati SiSwati
Swedish Svenska
Tahitian Reo Mā’ohi
Tajik Тоҷикӣ
Tamil தமிழ்
Tatar Татарча
Telugu తెలుగు
Thai ภาษาไทย
Tibetan བོད་ཡིག
Tigrinya ትግርኛ
Tongan faka Tonga
Tsonga Xitsonga
Tswana Setswana
Turkish Türkçe
Turkmen Türkmençe
Twi Twi
Ukrainian Українська
Urdu اردو
Uyghur ئۇيغۇرچه
Uzbek O‘zbek
Venda Tshivenḓa
Vietnamese Tiếng Việt
Volapük Volapük
Walloon Walon
Welsh Cymraeg
Western Frisian Frysk
Wolof Wolof
Xhosa isiXhosa
Yiddish ייִדיש
Yoruba Yorùbá
Zhuang Cuengh
Zulu isiZulu

Every time you declare a language in a file, in an HTML attribute or in an API call you end up needing its code. And several standards coexist: ISO 639-1 uses two letters (es, en, ja), ISO 639-3 uses three and covers far more languages, and BCP 47 combines language with region to tell variants apart: es-ES against es-MX, pt-PT against pt-BR, zh-Hans against zh-Hant.

Which one to use depends on where. The HTML lang attribute and the srclang of a subtitle track expect BCP 47. Subtitle files and most translation APIs are happy with the two letters of ISO 639-1. Linguistic databases use ISO 639-3 because two letters do not stretch to every language in the world.

This table brings the three together, plus the native name of each language. Search by English name, Spanish name, native name or straight by code, and click any code to copy it.

How to use it

  1. 01 Type a language name or a code into the search box.
  2. 02 The table filters as you type, across every column.
  3. 03 Click a code to copy it.

Frequently asked questions

What is the difference between es and es-ES?

es identifies the Spanish language, full stop. es-ES narrows it to the variety spoken in Spain, as against es-MX or es-AR. Use the short form when the variant does not matter and the long one when it affects pronunciation, vocabulary or date and number formats.

Which code goes in the srclang of a subtitle?

A BCP 47 code. The two letters are enough (srclang="en") unless you want to flag the specific variant.

Why does Chinese have zh-Hans and zh-Hant?

Because the relevant distinction is not the region but the writing system: Hans is Simplified Chinese and Hant is Traditional. They are script subtags, not country ones.

Are all the languages in the world here?

No: the table lists the ones with a two-letter ISO 639-1 code, which is 184 of them. ISO 639-3 covers more than seven thousand and for that you need the official database.

Related tools

This is what Eco does live.

These utilities work on files you already have. Eco transcribes and translates while the audio is still playing: meetings, classes, videos in another language.

Download Eco free

10 free minutes per month · No card required