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.
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.