ISO 639-1
Standard codes for identifying languages
- 2 min read
- 3 chapters
Explore on Lably
ToursExplore Lably’s 3D toursInfoterm (International Information Centre for Terminology) is the registration authority for ISO 639-1 codes.
These codes are a useful international and formal shorthand for indicating languages.
ISO 639-1 is more restrictive than other ISO 639 parts, such as ISO 639-2 and ISO 639-3, which cover a wider range of languages and variations.
Many multilingual websites, including Wikipedia, use these codes to prefix URLs of localised versions: for example, ja.wikipedia.org is the Japanese version of Wikipedia.
History
ISO 639, the original standard for language codes, was approved in 1967. It was designed to represent major and primary national languages with well-established terminologies and lexicography.
In 1998 the standard was extended with an additional part, ISO 639-2, providing three-letter codes for a much wider range of languages. The original standard was redesignated as ISO 639-1 in 2002, in an updated version. Eventually five parts were issued, each being maintained as a separate standard.
In 2023, the different parts were combined into a unified standard, with the different code lists from each part now designated "sets".
The last two-letter code added was ht, representing Haitian Creole on February 26, 2003.
Sign in to keep reading
2 more chapters are free with a Lably account.
Updates
New ISO 639-1 codes are not added if an ISO 639-2 "set 2" three-letter code exists, so systems that use ISO 639-1 and 639-2 codes, with 639-1 codes preferred, do not have to change existing codes.
If an ISO 639-2 code that covers a group of languages is used, it might be overridden for some specific languages by a new ISO 639-1 code.
Part 3 (2007) of the standard, ISO 639-3, aiming to cover all known natural languages, largely supersedes the ISO 639-2 three-letter code standard.
There is no specification on treatment of macrolanguages, which are covered by ISO 639-3.
IETF language tags
The use of ISO 639 language codes was encouraged by the introduction of IETF language tags via RFC 1766 in March 1995. The current version of the specification is RFC 5646 from September 2009.

