Punycode converter (internationalized domains)
Encode or decode a Punycode label (RFC 3492), used to represent internationalized domain names (IDN) containing non-ASCII characters in pure ASCII. This tool processes one label at a time (not a full domain with dots).
How it works
The DNS natively understands only ASCII characters, but domain names can contain accents, ideographs or other Unicode characters (like "café.fr" or "日本.jp"). Punycode encodes each label containing non-ASCII characters as an ASCII string prefixed with "xn--", which browsers and DNS servers handle behind the scenes. This is the encoding you see appear in the address bar of some browsers for internationalized domains.
Why does my domain appear as "xn--..." in the address bar?
It is the ASCII Punycode representation of the internationalized domain, used internally by the DNS. Some browsers display it as is as a precaution (to prevent visual homograph attacks), while others show the original Unicode version.
Does a full domain like "café.example.com" convert in a single call?
No: each label separated by a dot (here "café", "example" and "com") must be encoded individually, and only "café", which contains non-ASCII characters, needs conversion (the others stay unchanged).
100% local processing: encoding and decoding run entirely in your browser via WebAssembly.