Punycode converter for internationalized domains
Punycode is the encoding from RFC 3492 that lets internationalized domain
names (IDNs) — those with accents or non-Latin scripts — work with the ASCII-only
DNS. This tool converts a Unicode domain into its xn-- ASCII form and decodes it
back, useful for developers, registrars and anyone inspecting an unfamiliar
xn-- domain.
How it works
The converter implements the full Bootstring algorithm and processes a domain one dot-separated label at a time:
encode: each label with non-ASCII chars → "xn--" + bootstring encoding
decode: each "xn--" label → original Unicode characters
plain ASCII labels are left unchanged
Handling labels separately is why a multi-part domain round-trips cleanly.
Example
Encoding münchen.de:
münchen(contains ü) → xn—mnchen-3yadeis ASCII → unchanged- Result: xn—mnchen-3ya.de
Decoding the same value returns münchen.de.
| Direction | Input | Output |
|---|---|---|
| Encode | münchen.de | xn—mnchen-3ya.de |
| Decode | xn—mnchen-3ya.de | münchen.de |
| Encode | example.com | example.com (unchanged) |
Everything runs locally in your browser.