Punycode Decoder

Convert Punycode-encoded domain names (xn--...) to Unicode and back instantly in your browser.

Enter a Punycode (xn--...) or Unicode domain name.

Quick Examples

Label Breakdown

Run a conversion to see the per-label details.

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.

Copied!

Summary

Convert Punycode-encoded domain names (xn--...) to Unicode and back instantly in your browser.

How it works

  1. Paste a Punycode domain (e.g. xn--nxasmq6b.com) or a Unicode domain (e.g. ???????.com) into the input.
  2. The tool auto-detects whether the input is Punycode or Unicode.
  3. Click Decode to convert Punycode labels to Unicode, or Encode to convert Unicode to Punycode.
  4. Each domain label is processed independently — the TLD and pure-ASCII labels remain unchanged.
  5. 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.

Frequently Asked Questions

Last updated: 2026-07-01 · Reviewed by Nham Vu