Punycode Converter

Convert international domain names to xn-- Punycode and back.

About this tool

Paste domains or email addresses, one per line, in Unicode or xn-- form. Each line converts to the other form, label by label. For emails, only the domain is converted. Lines that mix Latin with Cyrillic or Greek letters get a warning.

How Punycode works

DNS was designed for ASCII letters, digits and hyphens, so internationalised domain names (IDNs) such as münchen.de, bücher.example or 日本語.jp are stored in a special ASCII form. Each non-ASCII label is encoded with the Punycode algorithm (RFC 3492) and prefixed with xn--, so münchen becomes xn--mnchen-3ya. Browsers show the readable form and convert behind the scenes. The ASCII form is what you put in DNS records, server configs, TLS certificates and some email systems. This converter normalises and lowercases each label, converts only labels that need it, and leaves an email's local part alone. Its output matches the reference algorithm. Because Punycode can encode any script, attackers register homograph domains that look identical to famous ones, for example using Cyrillic 'а' and 'р' in place of Latin 'a' and 'p'. The tool warns when a label mixes Latin with Cyrillic or Greek letters. Honest limits: it implements Punycode with basic normalisation, not every IDNA 2008/UTS 46 mapping rule, so registries may reject some characters it accepts. The URL encoder, the URL parser and the Unicode inspector are related.

Frequently asked questions

What is Punycode?

An ASCII encoding for international domain names, shown with the xn-- prefix, for example xn--mnchen-3ya.de for münchen.de.

Why does my domain start with xn--?

It contains non-ASCII characters, so DNS stores it in Punycode form.

What is a homograph attack?

Registering a lookalike domain using letters from another script, such as Cyrillic 'а' for Latin 'a'.

Is my data uploaded?

No. Everything runs in your browser and nothing is stored or sent.