How to use it
- Type the domain name in Domain name. A single label works too.
- Keep Direction on Detect, or pick Unicode to ASCII or ASCII to Unicode to force one way.
- Copy the Converted name into your DNS panel, your mail settings or your page.
- For a name with several parts, check Label by label: each row shows what happened to that label.
How a name becomes Punycode
The Domain Name System carries only ASCII letters, digits and hyphens. RFC 3490 therefore writes each label that has a non-ASCII letter in ACE form: the prefix xn-- followed by the Punycode text of the label. A label with only ASCII letters is left unaltered, and the dots between labels stay.
- A label such as example stays as it is.
- A label such as bücher gets the prefix xn-- and its Punycode text, here bcher-kva.
- A label that starts with xn-- in any capitalisation is decoded back to its Unicode letters.
How Punycode writes a label
RFC 3492 writes the basic ASCII letters of a label first, in their order, then a hyphen, then one variable-length number for each other letter. The numbers use base 36, with the digits a to z and 0 to 9. The size of each number adapts to the numbers before it, so common letters stay short.
Its parameters are base 36, tmin 1, tmax 26, skew 38, damp 700, initial bias 72 and initial n 128 (RFC 3492, section 5).
What the tool does not check
- It does not run Nameprep (RFC 3491) or the IDNA mapping of letters, so capital non-ASCII letters and compatibility characters can come out differently from a browser.
- It does not check the length of a label or of the whole name.
- It does not look the name up, and it does not tell you whether a registry allows it.
Worked example: bücher.example
The label bücher has one non-ASCII letter, ü. Its basic letters b, c, h, e and r come first, then a hyphen, then the number that places ü. The label becomes xn--bcher-kva and the full name becomes xn--bcher-kva.example. The label example has only ASCII letters, so it stays as it is.
| Label | Result | What happened |
|---|---|---|
| bücher | xn--bcher-kva | Encoded to xn-- |
| example | example | Unchanged |
Frequently asked questions
What does the xn-- prefix mean?
It marks a label that holds Punycode. RFC 3490 says every ACE label begins with the ACE prefix, which is xn-- in any capitalisation, followed by the Punycode text of the label.
Are the upper-case letters of an ASCII label changed?
No. RFC 3490 says an ASCII label is left unaltered, so Example stays Example. Only the letters of a label that has a non-ASCII letter are rewritten.
Why does my name look different from the version the browser shows?
The tool does not map letters first. Nameprep and the IDNA mapping turn capital non-ASCII letters and compatibility characters, such as full-width forms, into their standard form before the Punycode step. Check the result in the browser or registry you use.
Does the converter send my domain name anywhere?
No. The conversion runs in your browser. The name you type is not sent to us or stored, and no DNS lookup is made.
Can I convert an e-mail address with it?
Convert the domain part only, the text after the @ sign. The tool leaves the part before the @ as it is.
What happens when an xn-- label is not valid?
The tool stops and names the label. After the prefix, a valid label uses only the letters a to z, digits and hyphens, and its number must end, so check the label for a typing mistake.
Sources
- RFC 3492: Punycode, a Bootstring encoding of Unicode (sections 5, 6 and 7.1)
- RFC 3490: Internationalizing Domain Names in Applications, IDNA (sections 2, 4.1 and 5)
Figures and text last checked on Tuesday, November 10, 2026.