Convert an internationalized domain name to its ASCII xn-- form using RFC 3492 Punycode, so non-Latin domains work in DNS. Labels over the 63-byte DNS limit are flagged.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Non-ASCII domains in an ASCII system
DNS carries ASCII. Punycode, defined in RFC 3492, represents an internationalised domain label as ASCII prefixed with xn--, so a domain written in Arabic, Chinese or with accents can resolve through infrastructure that predates Unicode.
Worked example
münchen.de → xn--mnchen-3ya.de 例え.テスト → xn--r8jz45g.xn--zckzah
How the encoding works
The ASCII characters are kept in order, then the non-ASCII ones are encoded as a compact sequence of deltas describing which character to insert and where. That is why the output looks nothing like the input and why one added accent changes the whole suffix.
The security angle
Different scripts contain characters that look identical — Cyrillic а and Latin a among them — so a domain can be registered that is visually indistinguishable from a well-known one. Browsers respond by showing the xn-- form when a label mixes scripts suspiciously. Encoding a domain here shows you what is really being registered.
Limits
This converts labels; it does not check registration, availability or reputation. Encoding runs in your browser.
How to use the Punycode Encoder
- Enter the internationalized domain name, for example a name using accented or non-Latin characters.
- Keep the mode on "Domain name" so each label is converted and prefixed with xn-- as IDNA requires.
- Click "Encode to Punycode".
- Check the notes: any label that exceeds the 63-byte DNS limit is flagged as unusable.
Frequently asked questions
Why do domains need Punycode at all?
The DNS protocol carries a restricted ASCII set – letters, digits and hyphens. Punycode (RFC 3492) represents any Unicode label within that set, and the xn-- prefix marks a label as encoded. This is what lets a domain in Arabic, Chinese or Devanagari resolve through unchanged DNS infrastructure.
Are the ASCII parts of my domain changed?
No. Labels that are already pure ASCII pass through untouched, and only labels containing non-ASCII characters are encoded. That is why a mixed domain shows the xn-- prefix on some labels and not others.
What is the 63-byte limit?
Each DNS label is capped at 63 bytes, and Punycode expands text considerably. A long name in a non-Latin script can exceed the limit once encoded, at which point it simply cannot be registered – so the tool tells you rather than letting you discover it at the registrar.