TASK
Decode a Punycode internationalized domain name to Unicode
Convert an ACE-encoded domain (xn--...) back to its readable Unicode form, and encode Unicode domains for DNS lookup.
- 1
DNS only accepts ASCII. Internationalized Domain Names (IDN) are encoded as Punycode: the Unicode label becomes xn--<ascii>. Decoding restores the original Unicode characters for display.
- 2 Punycode Decoder →
Paste an ACE label (e.g. xn--mnchen-3ya) to get the Unicode form (münchen). For a full domain, decode each label separately.
- 3 Punycode Encoder →
Reverse direction: paste a Unicode domain label to get the xn-- form safe for DNS resolution.
- 4 URL Parser →
Paste a full URL containing an xn-- host. The parser resolves the host label and lets you confirm the Punycode ↔ Unicode mapping.
Frequently asked questions
- Why does only one label in a domain start with xn--?
- Each label is encoded independently. 'münchen.de' becomes 'xn--mnchen-3ya.de' — only the non-ASCII label gets the xn-- prefix; pure-ASCII labels pass through unchanged.
- Can I use the Unicode form directly in a browser?
- Modern browsers display the Unicode form but send the Punycode form to DNS. Some contexts (email, certificates) may require the Punycode form explicitly for compatibility.
Workflows that solve this
Learn more
Want to understand why?
How to Encode Punycode Domains
Convert internationalized domain names (IDN) to Punycode ASCII representation for DNS resolution. TUTORIAL
How to Build Query Strings
A beginner-level guide covering query-string, url, building. Includes step-by-step instructions, common errors, troubleshooting tips, and security considerations for query-string. TUTORIAL
Punycode
Punycode is an encoding that converts Unicode strings (internationalized domain names) into ASCII-compatible strings, with output marked by the xn-- prefix. GLOSSARY
ALPN
ALPN (Application-Layer Protocol Negotiation, RFC 7301) negotiates the application protocol (e.g., h2, http/1.1) during the TLS handshake, avoiding an extra round trip. GLOSSARY
Related tools
Punycode Decoder
Decode Punycode (RFC 3492) text back to Unicode. Free, private, and 100% client-side. TOOL
Punycode Encoder
Encode Unicode text to Punycode (RFC 3492) with ACE prefix. Free, private, and 100% client-side. TOOL
URL Parser
Parse a URL into its components: protocol, host, path, query, hash, port, username, and password. Free, private, and 100% client-side. TOOL