🌐 Punycode Converter
Convert internationalized domain names (IDN) to Punycode and back. Translate Unicode domains to ACE form (xn--) for DNS lookups.
About this tool
Punycode is the encoding DNS uses to represent domain names that contain non-ASCII characters. Browsers display café.com, but DNS lookups actually resolve xn--caf-dma.com — the ASCII-Compatible Encoding (ACE) form. Every label containing Unicode is converted to xn-- + a base-36 string.
Example: bücher.de → xn--bcher-kva.de. Reverse: xn--mgbh0fb.example → المانيا.example. Paste either side and the tool picks the right direction with auto-detect.
Useful when configuring DNS records for internationalized domains, debugging email deliverability for non-Latin domains, building registrars, or verifying that a Unicode URL matches the certificate on the server.
FAQ
What is the "xn--" prefix? ›
It marks a label as Punycode-encoded (called the ACE prefix). DNS only understands ASCII, so any label with Unicode characters is prefixed with "xn--" and followed by the encoded form. A domain like "café.com" becomes "xn--caf-dma.com".
Is Punycode encryption? ›
No. Punycode is a reversible encoding defined in RFC 3492. Anyone can decode it back to the original Unicode. It exists only to fit non-ASCII characters into the ASCII-only DNS system, not to hide anything.
Why do some characters produce long Punycode? ›
Punycode packs Unicode code points into a compact base-36 representation, but each non-ASCII character still expands. CJK and emoji labels can produce Punycode much longer than the visible text — and DNS limits each label to 63 characters.
Can I convert an email address? ›
Yes. The tool processes each dot-separated label independently, so "münchen@example.de" encodes the domain part but leaves ASCII labels (like "example") untouched. Only labels with non-ASCII characters get the "xn--" prefix.