Punycode Converter

Encode or decode IDN domain names.

Developer

The Punycode Converter translates internationalized domain names (IDN) between their human-readable Unicode form and the ASCII-compatible Punycode encoding used by the Domain Name System. Domain names containing non-ASCII characters — such as accented letters, Chinese, Arabic, or Cyrillic scripts — must be encoded as Punycode (labels starting with xn--) to function in DNS. This tool lets you paste a Unicode domain to get its Punycode equivalent, or paste Punycode to reveal the original Unicode text. Everything runs in your browser — your domain names are never sent to any server.

About Punycode Converter

Internationalized domain names allow people to register web addresses in their native language and script. Under the hood, DNS only understands ASCII, so the Unicode form is converted to Punycode — a special ASCII encoding defined in RFC 3492. For example, münchen.de becomes xn--mnchen-3ya.de. Browsers display the Unicode version to users, but network requests use Punycode. This tool handles both directions of the conversion, making it essential for domain administrators, web developers, and security researchers who need to inspect or configure IDN domains.

How to Use Punycode Converter

  1. Enter a domain name in either Unicode (e.g. münchen.de) or Punycode (e.g. xn--mnchen-3ya.de).
  2. Click To Punycode to encode Unicode to Punycode, or To Unicode to decode Punycode back to Unicode.
  3. Copy the result for use in DNS records, configuration files, or browser testing.

Key Features

  • Bidirectional conversion — Unicode to Punycode and Punycode to Unicode
  • Handles multi-label domains (each label separated by a dot is converted independently)
  • Compliant with RFC 3492 (Punycode) and RFC 5891 (IDNA)
  • Instant results for quick domain verification
  • 100% client-side — no data transmitted to any server

When to Use This Tool

  • Registering or configuring internationalized domain names with non-ASCII characters
  • Setting up DNS records that require the Punycode version of an IDN domain
  • Inspecting suspicious links that may use homograph (look-alike character) attacks
  • Verifying that a Punycode domain resolves to the expected Unicode display name
  • Learning about internationalized domain name standards and encoding

Technical Details

Punycode is a bootstring encoding defined in RFC 3492 that represents Unicode code points using only ASCII characters (a–z, 0–9, hyphen). Each domain label is encoded independently; labels that are already pure ASCII remain unchanged. The xn-- prefix (ACE prefix) signals that a label is Punycode-encoded. This tool processes each dot-separated label and applies the Punycode algorithm in JavaScript, fully within your browser. For related domain utilities, try the URL Parser to break down full URLs into their components.

Conclusion

Whether you manage multilingual domains, audit links for homograph attacks, or simply need to see the ASCII representation of an internationalized address, this free Punycode Converter provides fast, accurate, and private results directly in your browser.

Frequently Asked Questions

What is Punycode?
Punycode encodes Unicode characters in domain names into ASCII (xn--...) so they work in the DNS system. Browsers show the Unicode form; DNS and network protocols use the Punycode form.
Can I convert a full URL?
This tool is optimized for domain names (hostnames). For full URLs, extract the hostname first — you can use the URL Parser tool — and then convert the host portion here.
What are homograph attacks?
Homograph attacks use look-alike Unicode characters (e.g. Cyrillic "а" vs. Latin "a") to create deceptive domain names. Converting a suspicious domain to Punycode reveals its true encoding and helps identify such attacks.
Is my input sent to a server?
No. Encoding and decoding run entirely in your browser using JavaScript. Your domain names never leave your device.