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. For extracting contact information from text, check out the Phone Number Extractor and Email Extractor.
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.