WebToolsPlanet
Developer Tools

Punycode Converter (IDN)

Paste an internationalized domain name like münchen.de and get its Punycode form xn--mnchen-3ya.de — or paste a xn-- domain and get back the Unicode original. Each input line is processed independently.

Last updated: May 27, 2026

Client-Side Processing
Input Data Stays on Device
Instant Local Execution

Find this tool useful? Support the project to keep it free!

Buy me a coffee

What is Punycode Converter (IDN)?

Domain names on the DNS wire are ASCII-only, but the Internet has long needed names in scripts beyond Latin — Arabic, Chinese, Cyrillic, accented Latin, emoji. Punycode (RFC 3492) is the algorithm that resolves this: it encodes each Unicode label into an ASCII representation prefixed with `xn--`, in a way that can be reversed without ambiguity. The combination of Punycode encoding and a few normalization rules is called IDNA (Internationalized Domain Names in Applications).

This tool implements the Punycode reference algorithm — encoding turns characters outside the basic ASCII range into a base-36 representation with a clever delta encoding; decoding inverts the process. The tool operates per DNS label: only labels that contain non-ASCII characters get the `xn--` prefix on encode, and only labels that start with `xn--` are decoded on decode.

How to Use Punycode Converter (IDN)

1

Pick the conversion direction: Unicode → Punycode (encode) or Punycode → Unicode (decode).

2

Paste one domain per line.

3

Copy the converted result.

Common Use Cases

  • Registering an internationalized domain name with a registrar that requires ASCII form.
  • Inspecting a suspicious-looking domain to see its Unicode form (helpful for spotting homoglyph attacks).
  • Implementing an IDN-aware allowlist or blocklist in code.
  • Debugging email addresses with non-ASCII domain parts.

Example Input and Output

A German Unicode domain encodes to its Punycode (xn--) form.

Unicode domain
münchen.de
Punycode
xn--mnchen-3ya.de

Privacy

All Punycode encoding and decoding happen in your browser. No content is sent to a server.

Homograph awareness

Decoded labels can resemble Latin letters from other scripts (Cyrillic а vs Latin a). When auditing untrusted URLs, render the decoded label in a context that exposes the underlying script.

Frequently Asked Questions

Does this implement full IDNA2008 / UTS #46?
It implements the Punycode (RFC 3492) layer faithfully but does not apply the IDNA2008 / UTS #46 mapping rules (case folding, NFC normalization, disallowed-character checks). For strict IDNA compliance, normalize the input separately before encoding.
Why is the output the same as the input?
If a label contains only ASCII characters, it does not need Punycode and is left unchanged. The xn-- prefix is added only for labels that contain non-ASCII code points.
Why is my emoji domain failing?
Most TLD registries reject emoji and other code points by registry policy, even though the algorithm itself can encode them. This tool will produce the Punycode regardless — registries make the final call.
Does this send my domain anywhere?
No. All conversion runs locally in your browser.