Convert internationalized domain names between Unicode and Punycode ACE format. Handles full domains with multiple labels and bidirectional conversion.
Punycode is a way to represent Unicode characters in the ASCII character set for use in DNS (domain names). Internationalized domain names (IDNs) use the xn-- prefix. For example, münchen.de → xn--mnchen-3ya.de.
The Punycode converter translates internationalized domain names (IDN) between their human-readable Unicode form and the ASCII-compatible encoding (ACE) used in DNS. Enter a Unicode domain like `münchen.de` to get `xn--mnchen-3ya.de`, or paste an `xn--` label to decode it back. Full multi-label domains are handled correctly — each label is encoded or decoded independently.
QWhat is Punycode?
Punycode is an encoding defined in RFC 3492 that maps Unicode strings to a restricted ASCII subset. DNS uses it (via IDNA) to represent non-ASCII hostnames.
QWhat does the xn-- prefix mean?
The xn-- ACE (ASCII-Compatible Encoding) prefix signals to DNS resolvers that the label is Punycode-encoded rather than plain ASCII.
QDoes the tool support IDNA 2008 as well as IDNA 2003?
The converter uses standard Punycode encoding/decoding. Specific IDNA version rules (which affect character validity) are noted where they differ.
QCan I encode email addresses with non-ASCII domains?
Yes. Paste the domain part of the address and the tool will encode it. The local part (before @) uses a different standard (EAI/RFC 6531) and is not processed here.