How This Punycode Converter Works
This punycode converter takes an internationalized domain name and converts it to its ASCII-compatible Punycode form (the xn-- prefixed label browsers and DNS actually use), or reverses a Punycode domain back to its original Unicode text. Four modes cover the full round trip: convert domain to punycode, decode a punycode domain back to unicode, and encode or decode a single label without the domain wrapper attached, functioning as a complete unicode domain to ascii converter and back.
Four Conversion Modes
Domain → Punycode mode acts as a full idn to ascii converter: paste an internationalized domain name like münchen.de and get back xn--mnchen-3ya.de, with each label (subdomain, domain, TLD) broken out individually so you can see exactly which parts needed encoding. Punycode → Domain mode reverses that, turning an xn-- domain back into readable Unicode. Encode Label and Decode Label modes work as a standalone punycode encoder and xn-- decoder for a single label at a time, without assuming it's part of a dotted domain, useful when you only have one code point sequence to convert.
Understanding IDN, ACE, and the xn-- Prefix
Internationalized Domain Names (IDNs) let domains contain non-ASCII characters like accented letters, CJK ideographs, or Cyrillic script, but the DNS system itself only understands ASCII. ACE (ASCII Compatible Encoding) solves this: every non-ASCII label gets run through the Punycode algorithm and prefixed with xn--, producing a domain name encoder output that's valid ASCII but still uniquely reversible back to the original Unicode. This is exactly why this tool works as both an internationalized domain name converter and an ace encoding converter, since Punycode is the specific algorithm ACE uses under the hood.
Common Uses
Registering or troubleshooting an internationalized domain, decoding an xn-- domain seen in a browser address bar or server log back into readable text, and converting a domain to punycode before using it in DNS records, SSL certificates, or email headers are the most common uses. Developers building internationalization-aware URL handling or domain-validation logic also use this as a punycode to text reference when debugging.
What This Tool Doesn't Do
This tool performs raw Punycode (Bootstring) encoding per label, it doesn't apply full IDNA2008 or UTS-46 normalization, so it won't case-fold, strip disallowed characters, or validate that a domain is actually registrable, encoding MÜNCHEN.DE preserves the uppercase rather than normalizing it the way a browser would before sending a DNS query. It also doesn't check whether a domain or label actually exists or resolves, it only performs the character-level conversion.