Punycode Converter (IDN ⇆ xn--)
Convert internationalized domain names between Unicode and Punycode (the xn-- ASCII form) in both directions — runs 100% in your browser, no upload.
🔒 Domains are converted in your browser — nothing is uploaded.
What Punycode is for
Domain names on the internet were originally limited to plain ASCII letters, digits and hyphens. Punycode, defined in RFC 3492, is the encoding that lets an internationalized domain name (IDN) written in Unicode — with accents, umlauts, Cyrillic, Chinese, Japanese, emoji or any other script — travel through that ASCII-only system. Each label that contains non-ASCII characters is transformed into a reversible ASCII string and given the xn-- prefix, so münchen.de becomes xn--mnchen-3ya.de. Your browser shows the pretty Unicode form in the address bar, but behind the scenes it resolves the xn-- version.
How this converter works
Type a Unicode domain in the top box to see its ASCII xn-- equivalent instantly, or paste an xn-- domain in the bottom box to decode it back to human-readable Unicode. Each dot-separated label is handled on its own: pure-ASCII labels such as com or de pass through untouched, while only the labels that actually contain non-ASCII characters get the xn-- treatment. The tool implements the full RFC 3492 encode and decode algorithm, including surrogate-pair characters like emoji, so every conversion round-trips exactly.
Frequently asked questions
Why does my Punycode domain start with xn--?
The xn-- prefix (called the ACE prefix) marks a label as an ASCII-encoded internationalized name. When software sees xn-- at the start of a label it knows to decode the rest with the Punycode algorithm to recover the original Unicode characters.
Does the converter change the ASCII parts of my domain?
No. Labels are split on the dots and only labels containing non-ASCII characters are encoded. Ordinary parts like www, com or de are left exactly as they are, so nothing that was already valid ASCII is altered.
Is my domain uploaded anywhere?
No. The entire conversion runs locally in your browser with JavaScript. Whatever you type is never sent, stored or uploaded to any server, so it is safe to convert private or unpublished domain names.