Punycode converter
Convert internationalized domain names to punycode (xn--) and back.
Related tools
Punycode converter
Domain names with accents, umlauts or non-Latin scripts — münchen.de, bücher.example, 例え.jp — cannot be stored in DNS directly, because DNS only understands ASCII. Punycode (RFC 3492) bridges that gap: every label containing international characters is converted to an ASCII form starting with xn--, so münchen.de becomes xn--mnchen-3ya.de. Browsers do this silently in the address bar; this converter makes the transformation visible in both directions.
Paste one domain per line. In the default automatic mode the tool decides per label: labels starting with xn-- are decoded back to Unicode, labels containing non-ASCII characters are encoded to punycode, and plain ASCII labels pass through untouched — a mixed list converts correctly in one run. The direction selector forces encoding or decoding when you need one specific result, and the output is lowercased, matching how DNS treats names. Emoji domains work too: 💩.la encodes to xn--ls8h.la.
Typical uses: preparing DNS zone files and TLS certificate requests, which need the xn-- form; checking what a suspicious xn-- link in an email really says, since homograph phishing hides look-alike characters behind punycode; auditing server logs and referrer lists; registering internationalized domains, where the registrar counts the length of the encoded form, not the pretty one.
The converter implements the RFC 3492 algorithm entirely in your browser. Nothing you paste is sent anywhere — domain lists from logs, zone files and audits stay on your machine. An invalid punycode label produces a clear message naming the offending label instead of a silently wrong result.