Punycode Converter
Convert internationalized domain names with accents or non-Latin scripts to their ASCII xn-- punycode form, and decode xn-- domains back to readable Unicode.
Unicode domain to punycode
Internationalised domain names (IDN) are stored in DNS as ASCII using the xn-- prefix. Conversion happens locally as you type.
Punycode to Unicode
About Punycode Converter
The DNS at its core only handles a limited set of ASCII characters: letters, digits and the hyphen. To make domains such as café.eu or münchen.de work, the IDNA standard encodes each Unicode label into pure ASCII using an algorithm called punycode, marked with the xn-- prefix. That encoded form is what actually travels through the DNS, appears in TLS certificates and shows up in many server logs.
This converter works in both directions. Type a Unicode domain and it produces the xn-- ASCII form; paste an xn-- domain and it decodes back to the readable Unicode name. Encoding is applied per label, so bücher becomes xn--bcher-kva, and the tool handles accented Latin characters as well as Cyrillic, Greek, Arabic and CJK scripts. Conversion runs locally in your browser as you type, so nothing you enter is uploaded or logged.
One important use is spotting homograph attacks. Attackers register lookalike domains that swap a Latin letter for a visually identical character from another script, for example a Cyrillic a in place of a Latin a. The two names look the same to the eye but have completely different xn-- forms. Decoding a suspicious xn-- link reveals the actual characters behind it, exposing a spoof that a quick glance would miss.
Beyond security, the converter is handy whenever you need the exact on-the-wire form of an internationalized domain: entering an IDN at a registrar, adding DNS records, requesting a certificate, or configuring an email system that expects ASCII. It is equally useful for reading back an xn-- string you have found in a log or a browser address bar.
How to use it
- 1To encode, type a Unicode domain such as bücher.example or café.eu into the top field. The xn-- ASCII form appears instantly.
- 2Copy the xn-- result to use in DNS records, certificate requests or registrar forms.
- 3To decode, paste an xn-- domain such as xn--bcher-kva.example into the lower field to reveal its readable Unicode form.
- 4Inspect any unfamiliar xn-- link this way before trusting or clicking it.
Common use cases
- -Registering or configuring an IDN and needing its exact xn-- form for DNS or a registrar
- -Decoding a suspicious xn-- link to check for homograph or lookalike phishing
- -Debugging why an internationalized domain will not resolve or match its certificate
- -Preparing IDN entries for email systems or TLS certificate requests
- -Understanding how a non-Latin domain is represented on the wire
Frequently asked questions
- What is punycode?
- Punycode is an encoding that represents Unicode domain labels using only ASCII characters. Internationalized domains are stored and transmitted in this form with an xn-- prefix because the DNS itself is limited to ASCII letters, digits and hyphens.
- What does the xn-- prefix mean?
- xn-- is the fixed ACE (ASCII-Compatible Encoding) prefix that marks a domain label as punycode. Everything after it is the encoded form of a Unicode label, which browsers decode back to the readable name for display.
- How do I convert an IDN to punycode?
- Type the Unicode domain into this converter and the xn-- form appears immediately as you type. For example, bücher.example becomes xn--bcher-kva.example, and the conversion runs locally in your browser.
- Can punycode help spot phishing?
- Yes. Lookalike domains often use non-Latin characters that resemble Latin ones, and decoding the xn-- form reveals the actual Unicode characters. That exposes homograph attacks which are invisible at a glance.
- Why do browsers sometimes display a domain as xn--?
- The DNS, TLS certificates and logs store the ASCII punycode form. Browsers usually show the friendly Unicode name but fall back to xn-- when a domain mixes scripts in a way that could be used to spoof a well-known site.
- Does this converter send my domain to a server?
- No. Encoding and decoding happen entirely in your browser as you type, so nothing you enter is uploaded or logged.