Punycode Converter
Convert Unicode domain labels to Punycode (xn--) and back. Client-side conversion.
What Is Punycode Converter?
Punycode encodes Unicode domain labels into ASCII starting with xn-- so internationalized domain names (IDN)
work with DNS. This Punycode Converter converts each dot-separated label on every line: Unicode hostnames to
Punycode, or Punycode labels back to Unicode—useful for debugging DNS, TLS SANs, and email headers.
Encode vs decode
Encode walks labels left to right; ASCII labels pass through unchanged; labels containing non-ASCII characters become
xn--…. Decode reverses labels that start with xn-- and leaves plain ASCII labels as-is.
How to use
- Pick Unicode → Punycode or Punycode → Unicode.
- Enter one hostname or label per line (or a single domain).
- Copy or download the Output column.
Frequently Asked Questions
Does it validate a real registered domain?
No. It only performs Punycode label conversion. Registration rules, IDNA2008 vs UTS #46 mapping, and TLD policy are out of scope.
Why did encode skip part of my input?
Labels that are already plain ASCII (like com) stay unchanged. Only labels containing non-ASCII code points are encoded to xn-- form.
Is data sent to a server?
No. Conversion uses the Punycode library in your browser only.
Can I convert a full URL with path and query?
Strip scheme and path first—run the tool on the host portion only, or split labels manually. Paths are not Punycode-encoded the same way as host labels.