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.

Standards

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

  1. HTML lang attribute: <html lang="en">
  2. HTTP Accept-Language header: Accept-Language: en-US,en;q=0.9
  3. BCP 47 language tags: As the primary language subtag
  4. Content Management Systems: For content localization
  5. 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

Open full tool