The Unified ISO 639:2023 Standard
The ISO Language Code Explorer provides an interface to search and analyze the unified ISO 639 reference. Historically, language codes were managed across separate parts of the standard, specifically ISO 639-1, ISO 639-2, and ISO 639-3. The publication of ISO 639:2023 replaced these separate parts with a single, unified standard organized into identifier sets.
The explorer combines these sets into a single searchable reference. It maps the relationships between Set 1 (the former two-letter codes), Set 2 (the three-letter codes, including bibliographic and terminology variants), and Set 3 (the comprehensive three-letter codes for all documented languages). This unified structure allows software developers, localization engineers, and linguists to trace how different identifier sets relate to one another without consulting separate registries.
Search Parameters and Input Constraints
The tool processes queries through a single text input field labeled "Language name or ISO 639 code". Users can input English language names, supported local language names, or two- or three-letter ISO 639 codes. The search interface accepts example queries such as zh, chi, zho, cmn, or cel.
To ensure predictable browser performance, the search input is governed by specific validation rules:
- Minimum Length for Names: If a user attempts to search by a language name using fewer than two letters, the tool halts the query and displays the error: "Type at least two letters to search by name."
- Maximum Length: If the input exceeds 79 characters, the tool displays the error: "Keep the search under 80 characters."
- Format Validation: For inputs containing invalid characters or formats, the tool displays: "Use a language name or a two- or three-letter ISO 639 code."
A "Clear" button is provided to empty the search input and reset the interface. If the underlying packaged reference fails to load in the browser, the tool displays the error message: "The packaged reference could not be loaded. Reload the page and try again."
Understanding Identifier Sets and Code Synonyms
The explorer displays how codes correspond across different identifier sets under the "Code relationship" field. A key complexity within the ISO 639 standard is the existence of code synonyms within Set 2, which contains both bibliographic (Set 2/B) and terminology (Set 2/T) codes for a small group of languages.
For these languages, the tool displays both variants. For example, French is represented as fre in Set 2/B and fra in Set 2/T. When resolving these synonyms, Set 3 consistently aligns with the terminology (T) form. If a specific code is not assigned within a given set in the reference, the tool labels that field as "Not assigned".
| Identifier Set | Code Length | Relationship shown by the explorer |
|---|---|---|
| Set 1 | 2 letters | Displayed when assigned |
| Set 2/B | 3 letters | Bibliographic variant, such as fre |
| Set 2/T | 3 letters | Terminology variant, such as fra |
| Set 3 | 3 letters | Follows the Set 2/T form when synonyms exist |
Macrolanguages and Member Language Links
A core feature of the ISO 639 standard is the hierarchical relationship between macrolanguages and their individual member languages. A macrolanguage is an identifier that groups closely related individual languages that are treated as a single language in certain contexts.
The explorer displays these connections within the "Macrolanguage relationship" field. When viewing a macrolanguage record, the tool displays the total count of its members using the format "‹count› current member languages". Conversely, when viewing an individual member language, the tool links back to the parent record, displaying "Member of ‹name› (‹code›)". For example, Chinese is classified at the macrolanguage level under the code zho, while Mandarin Chinese is classified as an individual member language with the Set 3 code cmn.
Language Scopes and Types
Every record in the ISO 639 reference is classified by its scope and language type. The explorer maps the single-letter codes from the official registry into human-readable labels:
Scope Classifications
I(Individual language): Maps to "Individual language".M(Macrolanguage): Maps to "Macrolanguage".S(Special code): Maps to "Special code".C(Language collection): Maps to "Language collection".R(Reserved local-use range): Maps to "Reserved local-use range".
Language Type Classifications
L(Living): Maps to "Living".E(Extinct): Maps to "Extinct".A(Ancient): Maps to "Ancient".H(Historical): Maps to "Historical".C(Constructed): Maps to "Constructed".S(Special): Maps to "Special".
These classifications are displayed in the detailed record view under the "Scope" and "Language type" fields, alongside the "Official reference name", "Other indexed names", and any applicable "Registry note".
Data Processing and Privacy
The ISO Language Code Explorer operates entirely within the user's web browser. When the page loads, it displays the status message "Loading the packaged language code reference…" while initializing the dataset. Once loaded, all search queries are processed locally using the versioned reference shipped with the page. No search queries or user data are uploaded to external servers.
The packaged snapshot combines the official Set 3 registry, name index, and macrolanguage tables with the official Set 2 list. Browser-provided local names are utilized solely as a search aid; the official reference name remains visible in the results. The tool displays current entries from these snapshots and excludes retired Set 3 code history.
The metadata footer displays the exact version dates and record counts of the active dataset using the format: "ISO 639:2023 · Set 3 ‹set3Date› · Set 2 ‹set2Date› · ‹count› records".
Frequently Asked Questions
Are ISO 639-1, 639-2 and 639-3 still separate standards?
ISO 639:2023 replaced the former separate parts with one standard organized into identifier sets. The familiar names ISO 639-1, 639-2 and 639-3 are still widely used, so this explorer shows them alongside the current Set 1, Set 2 and Set 3 labels.
Why do some languages have two Set 2 codes?
A small group has a bibliographic code (B) and a terminology code (T). French, for example, is fre in Set 2/B and fra in Set 2/T. They are synonyms for the same language; Set 3 follows the T form.
What is a macrolanguage?
A macrolanguage identifier groups closely related individual languages that are treated as one language in some contexts. Chinese uses zho at the macrolanguage level, while Mandarin Chinese has the individual Set 3 code cmn.
Which version of the code table is included?
The page labels both source snapshots: the Set 3 registry, name index and macrolanguage table dated 2026-04-14, plus the Set 2 list dated 2025-09-29. It covers current entries, not retired Set 3 code history.