About the Punycode Encode
The domain name system allows only ASCII, so a domain containing accents or non-Latin script, an internationalised domain name, is encoded into an ASCII form called punycode, with each affected label prefixed by xn--. This tool performs that conversion using the browser's own URL parser, so münchen.de becomes xn--mnchen-3ya.de, which is what actually travels over DNS.
Encoding happens per label, not per domain. Each dot-separated part is handled on its own, so only the labels that actually contain non-ASCII characters gain the xn-- prefix and an ASCII suffix such as .de passes through as it was. Normalisation runs first, lowercasing and applying the IDNA mapping, which is why MÜNCHEN.de and münchen.de produce the same ASCII form. A label that is already ASCII and starts with xn-- is left alone rather than encoded a second time.
Seeing the punycode form matters for security: look-alike domains that use Cyrillic or Greek letters to imitate a brand reveal themselves as unfamiliar xn-- strings. It also matters in practice when you create DNS records, request a TLS certificate or configure email for an IDN, because those systems accept only the ASCII form. The Punycode Decode tool converts it back to the readable name, and URL Parser splits a whole address into its parts.
How to use
- Enter a domain name with non-ASCII characters.
- Copy the xn-- punycode form.
- Use it in DNS, certificates or to inspect a suspicious link.
Common questions
- Why does a domain need punycode?
- DNS accepts only ASCII, so non-ASCII characters must be encoded. Browsers display the readable form but send the punycode.
- Only some labels changed. Is that right?
- Yes. Only labels containing non-ASCII characters get the xn-- prefix; pure-ASCII labels such as a .com are unchanged.
- How does this help spot phishing?
- A look-alike domain using foreign letters shows an unfamiliar xn-- string, exposing that it is not the real ASCII domain.