ISO 639-1 Overview — Two-Letter Language Codes
Comprehensive guide to ISO 639-1 two-letter language codes, their history, structure, and usage in web development and internationalization.
Detailed Explanation
What Is ISO 639-1?
ISO 639-1 is the first part of the ISO 639 international standard for language codes. It assigns two-letter lowercase codes to the world's major languages. The standard was first published in 1967 and has been updated several times since.
Structure and Rules
- Each code is exactly two lowercase Latin letters (e.g.,
en,ja,ar) - Codes are assigned by the ISO 639/RA (Registration Authority), currently the Infoterm organization
- There are approximately 184 registered codes
- Not every language has an ISO 639-1 code — only those with significant literary tradition or international use
Common ISO 639-1 Codes
| Code | Language |
|---|---|
en |
English |
es |
Spanish |
zh |
Chinese |
ar |
Arabic |
hi |
Hindi |
fr |
French |
ja |
Japanese |
de |
German |
pt |
Portuguese |
ko |
Korean |
Where ISO 639-1 Is Used
- HTML
langattribute:<html lang="en"> - HTTP
Accept-Languageheader:Accept-Language: en-US,en;q=0.9 - BCP 47 language tags: As the primary language subtag
- Content Management Systems: For content localization
- Operating Systems: For locale settings
Relationship to Other Standards
ISO 639-1 is the most widely used part of the ISO 639 family for web development. While ISO 639-2 and ISO 639-3 provide more comprehensive coverage (3-letter codes for 500+ and 7,000+ languages respectively), ISO 639-1 remains the standard for the lang attribute in HTML and the primary subtag in BCP 47 language tags.
Use Case
Any time you need to specify a language in HTML, HTTP headers, or application configuration, ISO 639-1 two-letter codes are the most common choice. They are used in the HTML lang attribute, Accept-Language headers, locale identifiers, and language selection dropdowns.
Try It — Language Code Reference
Related Topics
ISO 639-2 Three-Letter Codes — Extended Language Coverage
Standards
BCP 47 Language Tags — The Web Standard for Locale Identifiers
Standards
Language Tags in HTML — The lang Attribute Guide
Web Development
Accept-Language Header — HTTP Content Negotiation
Web Development
Intl API Locale Codes — JavaScript Internationalization
Web Development