Punycode Converter
Convert Unicode domain names to Punycode and back.
Punycode Converter for Internationalized Domains
This Punycode converter translates internationalized domain names (IDNs) such as bücher.de into their ASCII form xn--bcher-kva.de, and decodes xn-- domains back into readable Unicode. Some people search for it as a “Punny code converter” — it's the same thing. Paste one domain per line; full URLs and email addresses work too.
What is Punycode?
The Domain Name System was designed for plain ASCII: letters, digits, and hyphens. To allow domains in Turkish, German, Chinese, Arabic, or any other script, the IDNA standard converts each non-ASCII label with Punycode (RFC 3492) and adds the prefix xn--. The algorithm keeps the ASCII letters of the label in place and appends a compact code describing where the other characters go. For instance münchen becomes xn--mnchen-3ya, and the Japanese 例え becomes xn--r8jz45g. Browsers show you the Unicode version, while DNS servers, TLS certificates, and many logs only ever see the ASCII one.
How to use the converter
- Unicode to Punycode – enter a domain, URL, or email address. Each dot-separated label is lower-cased, normalized, and encoded if it contains non-ASCII characters. The scheme, path, query string, and the email local part are left untouched.
- Punycode to Unicode – paste
xn--labels to see the real characters. Regular labels pass through unchanged, so you can decode whole lists of hosts from server logs.
Where Punycode matters
- DNS and hosting – zone files, registrar forms, and many control panels require the
xn--form. - SSL certificates – certificate requests and SAN entries list IDNs in Punycode.
- Email – mail servers route messages for
user@ıstanbul.com.trviaxn--stanbul-qfb.com.tr. - Security – attackers register look-alike domains that mix alphabets, for example a Cyrillic
аin “аpple.com”. These homograph attacks are easy to expose: the fake domain converts to anxn--string, while the genuine one stays plain ASCII.
Punycode only covers the host name. To encode a path or query string, use URL Encode / Decode; to clean up redirect links before inspecting them, try Un Google Link.
Frequently Asked Questions
What does the xn-- prefix mean?
xn-- is the ACE (ASCII Compatible Encoding) prefix. It tells browsers and DNS software that the rest of the label is Punycode and should be shown as Unicode. Only labels that contain non-ASCII characters get the prefix; plain parts like .de or example stay unchanged.
Why doesn't the path of my URL change?
Punycode is only used for the host name. Paths, query strings, and fragments use percent-encoding instead, so this tool leaves them as they are. Use URL Encode / Decode for those parts.
Can Punycode be used in email addresses?
The domain part after @ can be converted to Punycode, which is how most mail servers route mail for internationalized domains. The local part before @ is not Punycode; non-ASCII local parts require SMTPUTF8 support on both sides. The tool converts only the domain and keeps the local part intact.
How can I spot a homograph (look-alike) domain?
Paste the suspicious link into Unicode to Punycode. If a domain that looks like plain English turns into something starting with xn--, it contains non-Latin characters, such as a Cyrillic а instead of a Latin a, and is not the site it pretends to be.