Punycode converter: xn-- domains, decoded.

Paste a domain or URL. Unicode names like bücher.de become the xn-- form DNS uses; xn-- names become readable — with a warning when the letters only look Latin, like a Cyrillic “аррӏе”.

Punycode / IDN Converter

What punycode is

The DNS only understands letters, digits and hyphens. Internationalised domain names (IDNs) like münchen.de are stored in an ASCII form: each non-ASCII label is converted with the Punycode algorithm (RFC 3492) and prefixed with xn--. So münchen becomes xn--mnchen-3ya. Browsers convert back and forth automatically; this page shows both forms.

Why look-alike domains matter

Several scripts contain letters that look identical to Latin ones: Cyrillic а е о р с у х and Greek ο ν ρ are different characters from Latin a e o p c y x, o v p. A domain written entirely in Cyrillic, or one that mixes scripts, can therefore read exactly like a familiar brand — a homograph attack. In its ASCII form the difference is obvious: xn--80ak6aa92e.com is not apple.com.

Browsers defend against this by showing the xn-- form when a name looks risky. This tool applies two simple checks to each label — letters from more than one script (Japanese, Chinese and Korean combinations are allowed), and labels made entirely of common Latin look-alikes — and shows what the label appears to spell. It is a quick check, not a complete list of every confusable character.

How the conversion is done

  • Unicode → ASCII uses your browser’s own URL parser, which applies UTS #46 processing (lower-casing and character mapping) before Punycode — the same result the address bar sends to DNS.
  • ASCII → Unicode uses punycode.js 2.3.1 (MIT), the implementation Node.js has shipped.

Sources & standards

Common questions.

It marks a label that has been converted from Unicode with Punycode. xn--mnchen-3ya is the ASCII form of münchen.

Paste the domain above. Each xn-- label is decoded with the Punycode algorithm from RFC 3492.

Registering a domain that uses letters from another script which look like Latin ones — such as Cyrillic “а” for Latin “a” — so the name reads like a trusted brand. The ASCII xn-- form reveals it.

Browsers display the punycode form when a name mixes scripts or could be confused with another domain, as a protection against look-alike phishing.

More from the toolkit.

About this page. Written and maintained by Sri Murugan Systems, the developer of urlencodedecode.com. Everything on this page runs in your browser; nothing you paste is uploaded. Uses punycode.js 2.3.1 (MIT).