Punycode converter (IDN converter)
Punycoder is a tool for Unicode to ASCII/Punycode and vice-versa conversion

Internationalized domain name (IDN)

Screenshot of a Sri Lankan website සහායපියස.ලංකා which uses IDNA Sri Lankan website നിഘണ്ടു.ഭാരതം using IDN An Internationalized Domain Name, (IDN) is a type of domain name that contains characters (at least one) beyond a-z and - (ASCII alphanumericals and hyphens). IDN allows the usage of characters of national alphabets, like letters with diacritics (e.g., é), Chinese characters (e.g., ), Sinhala characters (e.g., සිං) and many others. That significantly expands the possibilities for domain name creation in local languages, thereby supporting the development of regional languages and cultural identity on the Internet.

The concept of IDN was designed as a way how to overcome limitation of the original character set used in domain names and allow domain registration in national alphabets and scripts. IDN brings fundamental advantages for users, who can register and use domains in their native language, which makes it easier to remeber and usage such names in online environment1.

History and development of IDN

History of international domain names goes back to the late 90s, when the Internet became a global penomenon and growing need of localization led to advancement of standards supporting multiple languages. First attempts to create IDN were unoficial and originated in different parts of world as a reaction to limitation of ASCII. Though, those unofficial solutions were often not compatible and let to various technical problems.2

A crucial step to the official implementation of IDN came in 2003, when the Internationalizing Domain Names in Applications (IDNA) standard was adopted. This standard, which was later updated in 2008 defined which way are international characters encoded into format compatible with DNS system, which still works with the ASCII set3.

Implementation & technical principle

The technical principle of IDN is that international characters are transformed to ASCII compatible format using the Punycode method. Punycode is an alghoritm which encodes unicode characters into string of ASCII characters, those which are compatible with the DNS system. Exaple of such an encoding is the "pokémon.com" domain, which is translated to Punycode as "xn--pokmon-dva.com"4.

When an IDN domain is entered into a web browser, it is translated to Punycode (which is subsequently sent to a DNS server for the lookup of the corresponding IP address). Though, this process is transparent for the user, who can continue 5.

Footnotes

  1. ICANN: Internationalized Domain Names. Retrieved August 30, 2024

  2. ICANN / Tan Tin Wee: The History of Internationalised Domain Names (IDN). Retrieved August 30, 2024

  3. ICANN / Patrik Fältström: IDNA 2003 & IDNA 2008. Retrieved August 30, 2024

  4. IETF: Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA). Retrieved August 30, 2024

  5. IETF: Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework. Retrieved August 30, 2024