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.