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

Internationalized domain name (IDN) explained

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. This significantly expands the possibilities for creating domain names 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 to overcome the limitations of the original character set used in domain names and to allow domain registration in national alphabets and scripts. IDN brings fundamental advantages for users, who can register and use domains in their native language, making it easier to remember and use such names in the online environment1.

History and development of IDN

The history of international domain names goes back to the late 90s, when the Internet became a global phenomenon and the growing need for localization led to the advancement of standards supporting multiple languages. The first attempts to create IDNs were unofficial and originated in different parts of the world as a reaction to the limitations of ASCII. However, those unofficial solutions were often not compatible and led to various technical problems.2

A crucial step toward 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 how international characters are encoded into a format compatible with the DNS system, which still works with the ASCII set3.

Implementation & technical principle

The technical principle of IDN is that international characters are transformed into an ASCII-compatible format using the Punycode method. Punycode is an algorithm that encodes Unicode characters into a string of ASCII characters, making them compatible with the DNS system. An example of such 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