Punycode Converter

Free Punycode / IDN converter. Encode an international domain name to its Punycode (xn--) ASCII form, or decode a Punycode domain back to Unicode. Handles multi-label domains. Runs entirely in your browser, no data uploaded.

Enter a domain above.

How punycode converter works

Punycode (RFC 3492) is how the domain name system represents international domain names. DNS only allows ASCII letters, digits, and hyphens, so a label like "münchen" is encoded as the ASCII label "xn--mnchen-3ya" using a base-36 variable-length integer scheme that records the non-ASCII code points.

Enter a domain to convert it to its Punycode (xn--) form, or paste an xn-- domain to decode it back to Unicode. Each dot-separated label is processed independently, so "café.example.com" becomes "xn--caf-dma.example.com" (only the non-ASCII label is prefixed with xn--).

This is useful for registering internationalized domains, configuring DNS records, debugging email and URL handling, and understanding how browsers display a Unicode domain while the wire uses ASCII. All processing happens in your browser using a pure JavaScript implementation of the RFC 3492 algorithm.

Frequently asked questions

What does xn-- mean in a URL?
The xn-- prefix marks a DNS label as Punycode-encoded. Browsers and DNS servers use it to convert an international domain name to and from the ASCII form that the domain name system requires.
How are multi-label domains handled?
Each dot-separated label is processed independently. Only labels containing non-ASCII characters are prefixed with xn-- and encoded; ASCII labels are left unchanged. Decoding only touches labels that start with xn--.
Is Punycode the same as URL encoding?
No. Punycode encodes whole domain labels for DNS. URL (percent) encoding escapes individual characters in a full URL path. A domain like "café.com" becomes "xn--caf-dma.com" with Punycode, while a URL path stays separate.
Can this tool validate a domain?
It encodes and decodes the Punycode representation. It does not check whether the domain exists, whether labels follow length limits, or whether IDNA validity rules pass — it is a pure Punycode conversion tool.