Punycode Decoder
Convert Punycode-encoded domain names (xn--...) to Unicode and back instantly in your browser.
Use the Punycode Decoder
Enter a Punycode (xn--...) or Unicode domain name.
Quick Examples
Label Breakdown
About Punycode
Punycode (RFC 3492) encodes Unicode labels into ASCII using a xn-- prefix followed by ASCII characters and a hyphen-separated encoding suffix. Only labels containing non-ASCII code points are encoded — pure-ASCII labels like .com stay unchanged.
Summary
Punycode is an encoding system defined in RFC 3492 that represents Unicode domain names using only ASCII characters. Internationalized domain names (IDN) use Punycode to support characters from non-Latin scripts, making them compatible with the DNS system. This tool converts between the human-readable Unicode form and the ASCII-compatible encoding (ACE) form prefixed with xn--.
How it works
- Paste a Punycode domain (e.g. xn--nxasmq6b.com) or a Unicode domain (e.g. παράδειγμα.com) into the input.
- The tool auto-detects whether the input is Punycode or Unicode.
- Click Decode to convert Punycode labels to Unicode, or Encode to convert Unicode to Punycode.
- Each domain label is processed independently — the TLD and pure-ASCII labels remain unchanged.
- Copy the result with the Copy button or swap it back into the input for round-trip testing.
Use cases
- Decode internationalized domain names received in emails or logs.
- Verify that your IDN domain encodes correctly before registering it.
- Debug DNS records that show xn-- prefixed labels.
- Convert Unicode hostnames to ASCII-compatible form for use in configuration files.
- Teach yourself how Punycode encodes non-ASCII characters.
- Spot homograph phishing attacks by decoding lookalike domains.