| Language ↕ | Native Name | ISO 639-1 ↕ | ISO 639-2 ↕ | BCP 47 | Family | Region | Copy |
|---|
// search language codes by name or identifier
Search and look up ISO 639-1, ISO 639-2, and BCP 47 language codes by name or code. Find language identifiers for HTML, APIs, localization, and i18n projects instantly.
| Language ↕ | Native Name | ISO 639-1 ↕ | ISO 639-2 ↕ | BCP 47 | Family | Region | Copy |
|---|
Type a language name like "French" or a code like "fr" or "fra" in the search box.
Use the family filter chips to narrow results by language family.
Click any row to see full details and copy HTML snippets for immediate use.
lang attributeThis tool is a searchable reference for ISO 639 language codes used in web development, APIs, and localization workflows. Find the exact code standard you need — ISO 639-1 (2-letter), ISO 639-2 (3-letter), or BCP 47 tags — instantly.
ISO 639-1 uses 2-letter codes (e.g. en for English), while ISO 639-2 uses 3-letter codes (e.g. eng). ISO 639-1 covers ~184 major languages. ISO 639-2 is more comprehensive. Most web standards prefer ISO 639-1 or BCP 47 tags.
BCP 47 (Best Current Practice 47) is the IETF standard for language tags used on the web. It combines a language code with optional script and region subtags, e.g. zh-Hans (Chinese Simplified) or pt-BR (Portuguese, Brazil).
Use BCP 47 tags for the HTML lang attribute — e.g. <html lang="en"> or <html lang="zh-Hans">. This is the W3C recommendation and supported by all modern browsers and screen readers.
Use zh-Hans for Simplified Chinese (Mainland China, Singapore) and zh-Hant for Traditional Chinese (Taiwan, Hong Kong). The ISO 639-1 code for both is zh, but BCP 47 subtags distinguish the script.
Append an ISO 3166-1 region subtag to the BCP 47 code: fr-CA for Canadian French, en-US for American English, pt-BR for Brazilian Portuguese. This tool shows the base codes; combine them as needed.
Yes. The Accept-Language HTTP header uses BCP 47 language tags with optional quality values, e.g. Accept-Language: en-US,en;q=0.9,fr;q=0.8. Use the BCP 47 codes from this tool to build compliant headers.
When building multilingual websites, APIs, or software, picking the right language code is critical. The wrong code can break localization pipelines, confuse search engines, and cause accessibility failures. This tool gives you an instant, searchable reference for ISO 639-1, ISO 639-2, and BCP 47 language identifiers — covering over 100 of the world's most widely used languages.
💡 Looking for premium web development assets? MonsterONE offers unlimited downloads of templates, UI kits, and multilingual themes — worth checking out.
ISO 639 is the international standard for language codes, maintained by the International Organization for Standardization (ISO). It exists in multiple parts:
en, fr, de). Covers approximately 184 languages that have significant literature and usage.BCP 47 (IETF Best Current Practice 47) is the recommended standard for language tags on the web and in HTTP. It builds on ISO 639 codes and adds optional subtags for script, region, and variant. Common BCP 47 patterns include:
en — English (base language only)en-US — English as used in the United Stateszh-Hans — Chinese written in Simplified scriptzh-Hant-TW — Chinese, Traditional script, as used in Taiwansr-Latn — Serbian written in Latin scriptThe W3C recommends BCP 47 tags for the HTML lang attribute, the HTTP Content-Language header, and the Accept-Language request header.
The lang attribute is one of the most important accessibility and SEO attributes in HTML. Setting it correctly helps screen readers pronounce content correctly, enables browser spell-checking, and signals language to search engines.
<html> element for the page's primary language: <html lang="ja"><blockquote lang="fr">hreflang attribute in <link> tags uses the same BCP 47 codes to signal alternate language versions to search engines.REST APIs and localization frameworks each have their own conventions, but most build on ISO 639 or BCP 47:
Accept-Language: ko)new Intl.DateTimeFormat('pt-BR')fr_FR.UTF-8zh_HansEven experienced developers make these errors. Our lookup tool helps you avoid them:
US is a country code (ISO 3166-1), not a language code. Always lead with the language: en-US.zh alone is ambiguous. Use zh-Hans or zh-Hant to specify script.lang from your HTML causes WCAG 3.1.1 failures and poor screen reader experiences.en-US), not underscores. Some systems use underscores (en_US) for locale identifiers — know which your system expects.This tool organizes languages by linguistic family, making it easy to find related languages. Major families in our database include Indo-European (the largest, including Romance, Germanic, Slavic, and Indo-Iranian branches), Afro-Asiatic (Arabic, Hebrew, Amharic), Sino-Tibetan (Chinese languages), Austronesian (Malay, Indonesian, Maori), Turkic (Turkish, Uzbek, Kazakh), Dravidian (Tamil, Telugu, Malayalam), Niger-Congo (Swahili, Yoruba, Zulu), and Uralic (Finnish, Hungarian, Estonian).