Punycode Decode

Decode a punycode (xn--) domain back to its readable Unicode form.

Punycode
Domain
Runs locally in your browser

About the Punycode Decode

This tool reverses punycode: it takes a domain with xn-- labels and shows the internationalised name a person would read. It decodes each punycode label with the standard Bootstring algorithm and leaves pure-ASCII labels alone, so xn--mnchen-3ya.de becomes münchen.de.

The conversion is a lossless reversal of the Bootstring algorithm, so it never guesses. That carries a security lesson worth stating plainly: a name that decodes cleanly is not therefore trustworthy. The registered domain xn--80ak6aa92e.com decodes to a string that reads as apple.com but is written in Cyrillic letters, and in most fonts the two are indistinguishable. Decoding tells you which characters are there; judging whether they belong to the script you expected is still your job.

It is useful for reading an xn-- domain that turns up in a certificate, a mail header, a firewall log or a link, and for security review of anything that arrived unsolicited. Pass a suspicious result through Unicode Code Point Finder afterwards to see exactly which alphabet each letter came from. The Punycode Encode tool converts a readable IDN back to its ASCII form.

How to use

  1. Paste the xn-- domain.
  2. Read the decoded Unicode name.
  3. Compare it with the domain you expected.

Common questions

What does the number in xn--mnchen-3ya mean?
It is part of the punycode algorithm that records where the non-ASCII characters belong. The decoder interprets it for you.
Can it decode a whole URL?
Give it the host part. Decode the rest of the URL with URL Decode if it is percent-encoded.
Why decode punycode?
To read an internationalised domain and to check whether a link is impersonating a brand with look-alike letters.