Punycode Converter
Convert Unicode domain names to Punycode (IDN) and back. Follows RFC 3492 / IDNA. 100% client-side.
🔗 URL preview
🏷 Label breakdown (2 labels)
📋 Common IDN Examples
| Unicode | Punycode | Language |
|---|---|---|
| German umlaut | ||
| French accent | ||
| Russian Cyrillic | ||
| Chinese | ||
| Hindi Devanagari | ||
| Greek | ||
| Already ASCII |
About Punycode Converter
The Domain Name System (DNS) only supports ASCII characters (a–z, 0–9, hyphen). To support international domain names (IDN) with non-ASCII characters — Hindi, Chinese, Arabic, Cyrillic, accented Latin, emoji — the Internet uses Punycode, an encoding scheme defined in RFC 3492. Punycode encodes Unicode strings into ASCII by prefixing with "xn--" and appending an encoded form of the non-ASCII part. For example, "münchen.de" becomes "xn--mnchen-3ya.de". Registrars, browsers, and DNS servers use this transparently. This tool converts between Unicode and Punycode — useful for testing IDN configurations, understanding how international domains work, and debugging DNS issues.
How It Works
- Choose a direction: Unicode → Punycode or Punycode → Unicode.
- Paste a domain or label (e.g., "münchen.de" or "xn--mnchen-3ya.de").
- See the converted output, plus the per-label breakdown.
- Copy the result with one click.
✨ Key Features
- ✓Unicode → Punycode (IDN encoding)
- ✓Punycode → Unicode (IDN decoding)
- ✓Full RFC 3492 implementation
- ✓RFC 5891 IDNA2008 label validation
- ✓Per-label breakdown (subdomain, domain, TLD)
- ✓Show ASCII-compatible (xn--) form
- ✓Show Unicode form
- ✓Validate domain labels
- ✓Copy any field
- ✓Handle multiple labels (sub.example.com)
- ✓100% client-side — no data sent to any server
🎯 Common Use Cases
- →Converting internationalized domain names for DNS config
- →Understanding how IDN domains work
- →Debugging IDN certificate issues (SSL/TLS)
- →Verifying that a Punycode domain matches a Unicode one
- →Preparing domain names for registration
- →Learning RFC 3492 and IDNA
- →Checking if a domain is an IDN (starts with xn--)
- →Working with international email addresses
💡 Advanced Tips & Pro Insights
- ▸Punycode labels always start with "xn--". If you see a domain starting with "xn--", it is a Punycode-encoded IDN.
- ▸Only the non-ASCII labels are encoded. "example.com" stays as-is; "münchen.de" → "xn--mnchen-3ya.de" (only the "münchen" label is encoded).
- ▸Punycode is case-insensitive but the case of the ASCII part can be preserved via a flag (RFC 3492 "case annotation"). Most implementations use lowercase.
- ▸The maximum length of a DNS label is 63 bytes after Punycode encoding. If the encoded form exceeds 63 chars, the domain is invalid.
- ▸Homograph attacks: attackers register visually similar domains (e.g., "аpple.com" using Cyrillic "а") that look like legitimate ones. Modern browsers display the Unicode form to users for safety.
- ▸Email addresses can also use IDN (SMTPUTF8 extension), but support is limited. Most email still requires ASCII domains.