ISO 639-1

ISO 639-1:2002, Codes for the representation of names of languages—Part 1: Alpha-2 code, is the first part of the ISO 639 series of international standards for language codes. Part 1 covers the registration of "set 1" two-letter codes. There are 183 two-letter codes registered as of June 2021. The registered codes cover the world's major languages.

These codes are a useful international and formal shorthand for indicating languages.

Many multilingual web sites use these codes to prefix URLs of specific language versions of their web sites, for example, "ru." before the website name is the Russian version of that website. See also IETF language tag. (Two-letter country-specific top-level-domain code suffixes are often different from these language-tag prefixes.)

ISO 639, the original standard for language codes, was approved in 1967. It was split into parts, and in 2002 ISO 639-1 became the new revision of the original standard. The last code added was, representing Haitian Creole on 2003-02-26. The use of the standard was encouraged by IETF language tags, introduced in RFC 1766 in March 1995, and continued by RFC 3066 from January 2001 and RFC 4646 from September 2006. The current version is RFC 5646 from September 2009. Infoterm (International Information Center for Terminology) is the registration authority for ISO 639-1 codes.

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 (see ISO 639-3).