An internationalized domain name (IDN) is an Internet domain name that contains at least one label displayed in software applications, in whole or in part, in non-latin script or alphabet[a] or in the Latin alphabet-based characters with diacritics or ligatures.[b] These writing systems are encoded by computers in multibyte Unicode. Internationalized domain names are stored in the Domain Name System (DNS) as ASCII strings using Punycode transcription.
The DNS, which performs a lookup service to translate mostly user-friendly names into network addresses for locating Internet resources, is restricted in practice[c] to the use of ASCII characters, a practical limitation that initially set the standard for acceptable domain names. The internationalization of domain names is a technical solution to translate names written in language-native scripts into an ASCII text representation that is compatible with the DNS. Internationalized domain names can only be used with applications that are specifically designed for such use; they require no changes in the infrastructure of the Internet.
IDN was originally proposed in December 1987 by Martin Dürst and implemented in 1990 by Tan Juay Kwang and Leong Kok Yong under the guidance of Tan Tin Wee. After much debate and many competing proposals, a system called Internationalizing Domain Names in Applications (IDNA) was adopted as a standard, and has been implemented in several top-level domains.
In IDNA, the term internationalized domain name means specifically any domain name consisting only of labels to which the IDNA ToASCII algorithm (see below) can be successfully applied. In March 2008, the IETF formed a new IDN working group to update the current IDNA protocol. In April 2008, UN-ESCWA together with the Public Interest Registry (PIR) and Afilias launched the Arabic Script in IDNs Working Group (ASIWG), which comprised experts in DNS, ccTLD operators, business, academia, as well as members of regional and international organizations. Operated by Afilias's Ram Mohan, ASIWG aims to develop a unified IDN table for the Arabic script, and constituted an example of community collaboration that helps local and regional expertise engage in global policy development, as well as technical standardization.
In October 2009, the Internet Corporation for Assigned Names and Numbers (ICANN) approved the creation of internationalized country code top-level domains (IDN ccTLDs) in the Internet that use the IDNA standard for native language scripts. In May 2010, the first IDN ccTLDs were installed in the DNS root zone.
Internationalizing Domain Names in Applications (IDNA) is a mechanism defined in 2003 for handling internationalized domain names containing non-ASCII characters.
Although the Domain Name System supports non-ASCII characters, applications such as e-mail and web browsers restrict the characters which can be used as domain names for purposes such as a hostname. Strictly speaking, it is the network protocols these applications use that have restrictions on the characters which can be used in domain names, not the applications that have these limitations or the DNS itself. To retain backward compatibility with the installed base, the IETF IDNA Working Group decided that internationalized domain names should be converted to a suitable ASCII-based form that could be handled by web browsers and other user applications. IDNA specifies how this conversion between names written in non-ASCII characters and their ASCII-based representation is performed.
An IDNA-enabled application is able to convert between the internationalized and ASCII representations of a domain name. It uses the ASCII form for DNS lookups but can present the internationalized form to users who presumably prefer to read and write domain names in non-ASCII scripts such as Arabic or Hiragana. Applications that do not support IDNA will not be able to handle domain names with non-ASCII characters, but will still be able to access such domains if given the (usually rather cryptic) ASCII equivalent.
ICANN issued guidelines for the use of IDNA in June 2003, and it was already possible to register .jp domains using this system in July 2003 and .info domains in March 2004. Several other top-level domain registries started accepting registrations in 2004 and 2005. IDN Guidelines were first created in June 2003, and have been updated to respond to phishing concerns in November 2005. An ICANN working group focused on country-code domain names at the top level was formed in November 2007 and promoted jointly by the country code supporting organization and the Governmental Advisory Committee. Additionally, ICANN supports the community-led Universal Acceptance Steering Group, which seeks to promote the usability of IDNs and other new gTLDS in all applications, devices and systems.
Mozilla 1.4, Netscape 7.1, and Opera 7.11 were among the first applications to support IDNA. A browser plugin is available for Internet Explorer 6 to provide IDN support. Internet Explorer 7.0 and Windows Vista's URL APIs provide native support for IDN.
The conversions between ASCII and non-ASCII forms of a domain name are accomplished by a pair of algorithms called ToASCII and ToUnicode. These algorithms are not applied to the domain name as a whole, but rather to individual labels. For example, if the domain name is www.example.com, then the labels are www, example, and com. ToASCII or ToUnicode are applied to each of these three separately.
The details of these two algorithms are complex. They are specified in RFC 3490. Following is an overview of their workings.
ToASCII leaves ASCII labels unchanged. It fails if the label is unsuitable for the Domain Name System. For labels containing at least one non-ASCII character, ToASCII applies the Nameprep algorithm. This converts the label to lowercase and performs other normalization. ToASCII then translates the result to ASCII, using Punycode. Finally, it prepends the four-character string "
xn--". This four-character string is called the ASCII Compatible Encoding (ACE) prefix. It is used to distinguish labels encoded in Punycode from ordinary ASCII labels. The ToASCII algorithm can fail in several ways. For example, the final string could exceed the 63-character limit of a DNS label. A label for which ToASCII fails cannot be used in an internationalized domain name.
The function ToUnicode reverses the action of ToASCII, stripping off the ACE prefix and applying the Punycode decode algorithm. It does not reverse the Nameprep processing, since that is merely a normalization and is by nature irreversible. Unlike ToASCII, ToUnicode always succeeds, because it simply returns the original string if decoding fails. In particular, this means that ToUnicode has no effect on a string that does not begin with the ACE prefix.
IDNA encoding may be illustrated using the example domain
Bücher.example. (German: Bücher, lit. 'books'.) This domain name has two labels, Bücher and example. The second label is pure ASCII, and is left unchanged. The first label is processed by Nameprep to give
bücher, and then converted to Punycode to result in
bcher-kva. It is then prefixed with
xn-- to produce
xn--bcher-kva. The resulting name suitable for use in DNS records and queries is therefore
While the Arab region represents 5 percent of the world's population, it accounts for a mere 2.6 percent of global Internet usage. Moreover, the percentage of Internet users among the population in the Arab world is a low of 11 percent, compared to the global rate of 21.9 percent. However, Internet usage in the region has grown by 1,426 percent between the years 2000 and 2008, which represents a large increase, particularly compared to the average world growth rate of 305.5 percent over the same period. It is reasonable to infer, therefore, that the usage growth could have been even more significant if DNS was available in Arabic characters. The introduction of IDNs offers many potential new opportunities and benefits for Arab Internet users by allowing them to establish domains in their native languages and alphabets, and to create a whole range of services and localized applications on top of those domains.
In 2009, ICANN decided to implement a new class of top-level domains, assignable to countries and independent regions, similar to the rules for country code top-level domains. However, the domain names may be any desirable string of characters, symbols, or glyphs in the language-specific, non-Latin alphabet or script of the applicant's language, within certain guidelines to assure sufficient visual uniqueness.
The process of installing IDN country code domains began with a long period of testing in a set of subdomains in the
test top-level domain. Eleven domains used language-native scripts or alphabets, such as "δοκιμή", meaning test in Greek.
These efforts culminated in the creation of the first internationalized country code top-level domains (IDN ccTLDs) for production use in 2010.
In the Domain Name System, these domains use an ASCII representation consisting of the prefix "
xn--" followed by the Punycode translation of the Unicode representation of the language-specific alphabet or script glyphs. For example, the Cyrillic name of Russia's IDN ccTLD is "рф". In Punycode representation, this is "
p1ai", and its DNS name is "
There are other registries that support non-ASCII domain names. The company ThaiURL.com in Thailand supports ".com" registrations via its own IDN encoding, ThaiURL. However, since most modern browsers only recognize IDNA/Punycode IDNs, ThaiURL-encoded domains must be typed in or linked to in their encoded form, and they will be displayed thus in the address bar. This limits their usefulness; however, they are still valid and universally accessible domains.
Several registries support Punycode emoji characters as emoji domains.
Main article: IDN homograph attack
The use of Unicode in domain names makes it potentially easier to spoof web sites as the visual representation of an IDN string in a web browser may make a spoof site appear indistinguishable from the legitimate site being spoofed, depending on the font used. For example, Unicode character U+0430 -- Cyrillic small letter a -- can look identical to Unicode character U+0061 (Latin small letter a), used in English. As a concrete example, using Cyrillic letters а, е, і, р (a; then "Ie"/"Ye" U+0435, looking essentially identical to Latin letter e; then U+0456, essentially identical to Latin letter i; and "Er" U+0440, essentially identical to Latin letter p), the URL wіkіреdіа.org is formed , which is virtually indistinguishable from the visual representation of the legitimate wikipedia.org (possibly depending on typefaces).
Many top-level domains have started to accept internationalized domain name registrations at the second or lower levels. Afilias (.INFO) offered the first gTLD IDN second-level registrations in 2004 in the German language.
DotAsia, the registrar for the TLD Asia, conducted a 70-day sunrise period starting May 11, 2011 for second-level domain registrations in the Chinese, Japanese and Korean scripts.
((cite web)): Missing or empty
((cite web)): Missing or empty
((cite web)): Missing or empty
((cite web)): Missing or empty