IDN Punycode Converter
Convert Internationalized Domain Names (IDNs) to ASCII Punycode (RFC 3492) and back. Essential for DNS configuration, SSL certificates, and email server setups.
About
The Domain Name System (DNS) historically supports only ASCII characters. This limitation prevents the native use of Internationalized Domain Names (IDNs) containing local scripts like Cyrillic, Arabic, Chinese, or Latin diacritics (e.g., ü, ñ). To resolve this, the Internet Engineering Task Force (IETF) defined the Punycode encoding in RFC 3492.
Punycode is a Bootstring encoding syntax that converts Unicode characters into a restrictive ASCII character set (A-Z, 0-9, and hyphen). Network administrators, DevOps engineers, and registrars must use this format when configuring nameservers, bind files, or issuing SSL certificates. Misconfiguration typically results in NXDOMAIN errors or security warning screens. This tool handles the conversion process, including NFC normalization to ensure composite characters (like encoded accents) are processed consistently.
Formulas
Punycode utilizes a generalized variable-length integer implementation to represent Unicode code points within the ASCII space. The encoding process involves separating basic characters from non-basic ones.
The system enforces strict constraints on the label length after conversion to comply with DNS protocol limits.
The state machine for the encoding maintains a bias parameter i which adjusts based on the proximity of code points in the string.
Reference Data
| Script / Region | Unicode TLD | Punycode (ASCII) | Language Context |
|---|---|---|---|
| Global (Test) | .test | .test | Standard ASCII |
| Arabic | .شبكة | .xn--ngbc5azd | Web/Network |
| Arabic (Egypt) | .مصر | .xn--wgbh1c | Egypt |
| Arabic (UAE) | .امارات | .xn--mgbaam7a8h | United Arab Emirates |
| Chinese (Simplified) | .中国 | .xn--fiqs8s | China |
| Chinese (Traditional) | .台灣 | .xn--kpry57d | Taiwan |
| Chinese (Game) | .游戏 | .xn--unup4y | Games |
| Cyrillic (Russia) | .рф | .xn--p1ai | Russian Federation |
| Cyrillic (Serbia) | .срб | .xn--90a3ac | Serbia |
| Cyrillic (Ukraine) | .укр | .xn--j1amh | Ukraine |
| Cyrillic (Bulgaria) | .бг | .xn--90ae | Bulgaria |
| Greek | .ελ | .xn--qxam | Greece |
| Hebrew | .קום | .xn--9dbq2a | Commercial (com) |
| Hindi (India) | .भारत | .xn--h2brj9c | India |
| Japanese | .jp | .jp | (ASCII, often uses Kanji subdomains) |
| Japanese (Example) | .みんな | .xn--q9jyb4c | Everyone |
| Korean | .한국 | .xn--3e0b707e | Korea |
| Latin (Euro) | .eu | .eu | Supports latin-1 IDNs |
| Thai | .ไทย | .xn--o3cw4h | Thailand |
| Emoji (Snowman) | ☃ | xn--n3h | Misc Symbol |
| Emoji (Pizza) | 🍕 | xn--vi9h | Food |