Skip to content
uencoder
TASK

Decode a Punycode internationalized domain name to Unicode

Convert an ACE-encoded domain (xn--...) back to its readable Unicode form, and encode Unicode domains for DNS lookup.

  1. 1

    DNS only accepts ASCII. Internationalized Domain Names (IDN) are encoded as Punycode: the Unicode label becomes xn--<ascii>. Decoding restores the original Unicode characters for display.

  2. 2
    Punycode Decoder →

    Paste an ACE label (e.g. xn--mnchen-3ya) to get the Unicode form (münchen). For a full domain, decode each label separately.

  3. 3
    Punycode Encoder →

    Reverse direction: paste a Unicode domain label to get the xn-- form safe for DNS resolution.

  4. 4
    URL Parser →

    Paste a full URL containing an xn-- host. The parser resolves the host label and lets you confirm the Punycode ↔ Unicode mapping.

Frequently asked questions

Why does only one label in a domain start with xn--?
Each label is encoded independently. 'münchen.de' becomes 'xn--mnchen-3ya.de' — only the non-ASCII label gets the xn-- prefix; pure-ASCII labels pass through unchanged.
Can I use the Unicode form directly in a browser?
Modern browsers display the Unicode form but send the Punycode form to DNS. Some contexts (email, certificates) may require the Punycode form explicitly for compatibility.

Workflows that solve this

Learn more

Want to understand why?

Related tools