Punycode converter

Compare a Unicode domain with its xn-- ASCII representation.

Try examples

Type an international word or domain for automatic conversion, e.g. bücher or bücher.de. xn-- input is decoded too. Sentences with spaces, URLs, email and IP addresses are not supported.

Input is processed only in this browser; it is not sent to the server or saved.

Quick start

  1. Enter a domain and select Convert.
  2. Compare the ASCII and Unicode results.
  3. Copy the representation you need.

Two domain representations

Host names were originally limited to letters, digits and hyphens. Internationalized domain names (IDNs) such as bücher.de are therefore registered and looked up in DNS as ASCII names: each label is converted with Punycode and prefixed with xn--. Browsers usually show the original characters in the address bar, but DNS records and the domain list in SSL certificates contain the xn-- form.

Use the ASCII domain wherever a setting expects ASCII names, such as nginx server_name, certificate requests and DNS zone files. In the other direction, when an xn-- name shows up in a log or certificate, convert it back to see which domain it really is.

Converting back also exposes look-alike phishing domains. For example, аpple.com with a Cyrillic а as its first letter becomes xn--pple-43d.com, a different domain from apple.com written in Latin letters.

Conversion scope

Browser domain normalization may change case or some characters. A final dot is preserved. Use URL encoding for arbitrary text and DNS lookup for the domain’s actual records.

Check the domain format. URLs, spaces and empty labels are not accepted. After conversion, each label must be at most 63 bytes and the whole name 253 bytes, excluding the final dot.

Examples you can reproduce

Unicode domainASCII domain (Punycode)
bücherxn--bcher-kva
bücher.dexn--bcher-kva.de
bücher.dexn--bcher-kva.de

Official references

Related tools