Punycode and IDN converter
Convert an internationalized domain to its xn-- punycode form and back. Shows each label separately, so you can see which part of the host is encoded.
What punycode is for
DNS carries ASCII. An internationalized domain name is therefore encoded, label by label, into an ASCII form beginning xn--: münchen.example travels as xn--mnchen-3ya.example. Your browser shows the readable form and sends the encoded one.
Per label, not per host
Each dot-separated label is encoded independently, and only the ones that need it. That is why a host can be part-encoded — and why this tool shows the labels separately.
Homograph domains
Several alphabets contain characters that render identically to Latin letters. Cyrillic а and Latin a are different code points that look the same in most fonts, so a domain can be registered that is visually indistinguishable from a familiar one.
Browsers defend against this by showing the raw xn-- form whenever a label mixes scripts. If a domain you were sent renders as punycode in the address bar, that is the browser telling you something — decode it here and look at what the characters actually are.
Related tools
- URL parser and validatorBreak a URL into scheme, host, port, path, query and fragment, and see why an invalid one is invalid. Handles IDN hosts, repeated parameters and odd schemes.
- URL normalizerPut a URL in canonical form: default ports, percent-encoding, trailing slashes, parameter order and www. Choose a lossless or a comparison-grade normalization.
- URL encoder and decoderPercent-encode and decode text, with the component-vs-full-URI distinction made explicit — the difference that decides whether your slashes and ampersands survive.