Punycode / IDN
Convert internationalized domains between Unicode and punycode (xn--).
Frequently asked questions
What is Punycode?
Punycode encodes internationalized domain names (with non-ASCII characters) into an ASCII form beginning with xn--, because DNS itself only allows ASCII.
Why do IDNs matter for security?
Look-alike Unicode characters can spoof familiar domains (a homograph attack). Converting to Punycode reveals the real xn-- name a browser will use.
Which direction does this convert?
Both. Enter a Unicode domain to get its xn-- form, or an xn-- domain to see the Unicode it represents.
What is an internationalized domain name?
An internationalized domain name (IDN) contains characters beyond basic ASCII, such as accented letters or non-Latin scripts. Because DNS only allows ASCII, these names are encoded to a Punycode form for actual lookups.
What does the xn-- prefix mean?
The xn-- prefix marks a label that has been encoded from Unicode into ASCII-compatible Punycode. Browsers use the encoded form for DNS while displaying the readable Unicode version to users where it is safe.
What is a homograph attack?
A homograph attack registers a domain using look-alike characters from another script to imitate a trusted name. Converting a suspicious domain to its Punycode form reveals the real underlying name.
Why does my browser sometimes show xn-- instead of the Unicode name?
Browsers display the ASCII Punycode form when a name mixes scripts in a way that could be used to spoof another domain, as a safeguard against homograph attacks.