How to use the Punycode converter
- Paste one or more domain names, e-mail addresses or URLs, one per line. The box starts with a few examples so you can see how it works.
- The results appear straight away, line by line. Automatic mode looks at each line: if it contains an
xn--label it is decoded to Unicode, otherwise it is encoded to Punycode. Choose To Punycode or To Unicode to force one direction. - Press Copy next to a result, Copy all results for the whole list, or Download .txt.
The conversion runs in your browser and nothing is sent to a server, so it is safe to paste lists of domains you are working on. Lines that cannot be converted are marked with the reason, for example an empty label or a label that is not valid Punycode.
What is Punycode and why do domains use it?
The domain name system was designed for the letters a to z, the digits 0 to 9 and the hyphen. To allow names in other languages and with accents, such as münchen.de, 例え.テスト or ☃.net,internationalised domain names (IDN) were introduced. Each label that contains other characters is turned into plain ASCII with the Punycode algorithm (RFC 3492) and given the prefix xn--. The browser shows you the readable form, but the network and the DNS only ever see the xn-- form.
Punycode works label by label: in münchen.de only münchen is encoded (to mnchen-3ya), the dot and the de stay. The ASCII letters of the label are kept at the front and the positions and values of the other characters are written after a hyphen, which is why you can often still guess the word in xn--bcher-kva ("bcher", Bücher).
Worked examples
bücher.de→xn--bcher-kva.de例え.テスト→xn--r8jz45g.xn--zckzah(both labels are encoded)☃.net→xn--n3h.net(a snowman) and😀.com→xn--e28h.com(an emoji domain)josé@münchen.de→josé@xn--mnchen-3ya.de(only the domain part of an e-mail address changes)https://münchen.de:8080/straße?q=ü→https://xn--mnchen-3ya.de:8080/straße?q=ü(only the host name changes)
Security: look-alike domains
Letters from different alphabets can look the same. The Cyrillic а is visually identical to the Latin a, so a domain such as аpple.com typed with a Cyrillic first letter is a different domain from apple.com. This is called a homograph attack and is used in phishing. When a Punycode domain is decoded, the converter checks each label and shows a warning if it mixes Latin letters with Cyrillic or Greek ones. The xn-- form is useful for exactly this reason: it makes the difference visible. If an e-mail or link sends you to a website that you expect to be familiar, look at its xn-- form first.
Limits, rules and tips
- Length. A label may be at most 63 characters and a whole domain 253, counted after conversion, including the
xn--prefix. Longer input is reported as an error. - Case and normalisation. Text is normalised (NFC) and lower-cased before it is encoded, so
MünchenandMÜNCHENgive the same result. - Registering a domain. Registries have their own rules about which characters and scripts are allowed, and they apply the full IDNA standard. Always confirm the final form with your registrar.
- Decoding a label that is not valid. Labels that begin with
xn--but are not correct Punycode are reported rather than guessed. - Bulk lists. One item per line; blank lines are skipped, and mixed lists of Unicode and Punycode names are converted correctly in Automatic mode.
Frequently asked questions
What is Punycode?
Punycode is a way to write any Unicode text with only the letters a–z, digits and hyphens. Internationalised domain names (such as münchen.de) are stored in the DNS as Punycode labels that start with xn--, for example xn--mnchen-3ya.de.
How do I convert a domain to Punycode?
Paste it in the box and the result appears at once. The tool converts each label (the parts between the dots) separately and keeps the dots and the top-level domain. For example 例え.テスト becomes xn--r8jz45g.xn--zckzah.
Can I convert e-mail addresses and URLs?
Yes. For an e-mail address only the part after the @ is converted, and for a URL only the host name: the path, the query, the port and the user name stay as they are. You can paste many lines at once; each is converted on its own.
Why do some domains look like a different website?
Some letters of different alphabets look identical, such as the Latin a and the Cyrillic а. Attackers register a domain with such a look-alike letter to imitate a real site. When you decode a Punycode domain, the tool warns you if a label mixes Latin letters with Cyrillic or Greek ones.
Does it follow the IDNA standard exactly?
It implements the Punycode algorithm of RFC 3492, normalises text to NFC and converts to lower case, and checks label and domain lengths. It does not apply every mapping rule of the full IDNA/UTS 46 standard (for example the German ß or full-width characters), so for registering a domain check the result with your registrar.