Punycode and IDN Converter
Convert internationalised domain names such as münchen.example to their xn-- ASCII form and back, label by label.
Free · No sign-up · Your inputs stay in your browser
Input
Convert international domain names (Punycode)
Output
2 domains
| Unicode | münchen.café.example |
|---|---|
| ASCII (IDNA) | xn--mnchen-3ya.xn--caf-dma.example |
| Unicode | 例子.卷筒纸 |
|---|---|
| ASCII (IDNA) | xn--fsqu00a.xn--3lr804guic |
DNS only carries ASCII, so a label with any other character is sent as xn-- plus its RFC 3492 Punycode. Use the ASCII form in Nginx server_name, certificates and DNS records. Mixed-script names that only look like a brand are why browsers sometimes show the xn-- form.
Runs in this browser. Nothing you paste is sent to a server.
About this tool
Method, assumptions, practical next steps, and limits.
DNS only speaks ASCII
Domain names on the wire are letters, digits and hyphens. An internationalised name is sent as its ASCII-compatible encoding, the xn-- form, and the browser shows the Unicode form to the user. Configuration files, certificates and DNS zones need the ASCII form: server_name xn--mnchen-3ya.example; in Nginx, not the Unicode one.
Homograph attacks
Cyrillic а and Latin a look identical, so a domain mixing scripts can imitate another. Browsers display the xn-- form when a name mixes scripts or looks deceptive, following rules such as those in Unicode Technical Standard 39. If a link shows up as xn--, read it before trusting it.