Convert an internationalized domain to Punycode
日本語.jp or münchen.de — DNS only speaks ASCII, so unicode labels travel as xn-- strings. See the real name behind the encoding.
Tools used in this guide
The job
An internationalized domain name shows up as xn--… in configs, certificates and DNS records. Converting each label to Punycode (RFC 3492) is how the unicode name travels, and decoding it back reveals what a suspicious xn-- string actually says.
How to do it
Paste the domain — with unicode labels or xn-- labels — pick the direction, and convert. Each dot-separated label is processed independently, so mixing ascii and unicode parts is fine.
- Only labels with non-ASCII characters get the xn-- prefix; plain-ASCII labels pass through.
- Full-width dots (。 and .) count as separators — a paste from Japanese text still parses.
Worked example
bücher.example becomes xn--bcher-kva.example for DNS, and xn--wgv71a119e.jp decodes back to 日本語.jp — useful when a certificate or phishing email hides behind the encoded form.
Limits
This is label-level Punycode, not a full URL parser — paths and query strings are rejected. Labels are lowercased as DNS is case-insensitive, and there is no homograph detection: a decoded lookalike domain still needs a human check.