Punycode converter
Convert an internationalised domain name to its xn-- ASCII form, or back.
Runs in your browser. Your input is not uploaded.
What it does
DNS only carries ASCII. Internationalised domain names such as münchen.de are stored as Punycode with an xn-- prefix: xn--mnchen-3ya.de. Browsers show the Unicode form; DNS records, certificates and many config files need the ASCII form.
Each label (the parts between dots) is converted separately. Labels that are already ASCII are left alone.
How to use it
- Paste a domain in Unicode or xn-- form.
- Read the converted form and copy it.
Example
Input
münchen.de
Output
xn--mnchen-3ya.de
Things to watch for
- This implements the Punycode algorithm (RFC 3492) with lower-casing. It does not apply every IDNA 2008 mapping and validity rule, so a registry may still reject a name this tool converts.
- Look-alike characters, such as Cyrillic
аfor Latina, produce a different domain. The Unicode inspector shows which is which.
Questions
- What does xn-- mean?
- It is the ACE prefix that marks a label as Punycode. Anything after it is the encoded Unicode.
- Do I need Punycode in an Nginx server_name?
- Yes. Use the xn-- form in server names, DNS zone files and most certificate requests.
- Can emails use Unicode domains?
- The domain part can be converted to Punycode. The local part before the @ needs SMTPUTF8 support, which Punycode does not cover.
- Why is my domain shown as xn-- in the browser?
- Browsers show the ASCII form when a name mixes scripts in a way that could be used for spoofing.