Punycode Converter
Convert internationalized domain names to Punycode and back — münchen.de to xn--mnchen-3ya.de — with RFC 3492 encoding done in your browser.
Implements the RFC 3492 Punycode algorithm with simple lowercasing. Full IDNA processing adds further mapping and validity rules, so unusual edge-case labels may be treated differently by registrars.
What is the Punycode Converter?
The Punycode Converter translates internationalized domain names (IDNs) between their readable Unicode form and the ASCII-compatible xn-- form used by DNS.
- Real RFC 3492 encoding — no lookup tables or network calls
- Handles full domains label by label, ASCII labels untouched
- Decodes xn-- labels back to readable Unicode
- Great for spotting lookalike phishing domains
- Works completely offline in your browser
How to use the Punycode Converter
- 1
Choose the direction: Unicode to Punycode, or Punycode to Unicode.
- 2
Type or paste a domain name (or a bare label).
- 3
Read the converted domain from the result box.
- 4
Copy the result for use in DNS records, certificates or audits.
About the Punycode Converter
The Punycode Converter translates internationalized domain names (IDNs) between their readable Unicode form and the ASCII-compatible xn-- form used by DNS. Type münchen.de and get xn--mnchen-3ya.de; paste an xn-- domain and see what it really says. Each dot-separated label is encoded or decoded independently, exactly as domains work.
It is useful for sysadmins configuring DNS records and certificates, SEOs auditing international sites, and anyone checking a suspicious xn-- link before clicking it — decoded lookalike domains are a common phishing trick. The converter implements the RFC 3492 Punycode algorithm directly in JavaScript, with no external libraries or lookups.
Everything runs 100% locally in your browser. No domain you type is ever sent anywhere — this is pure arithmetic on code points, not a DNS query.
Frequently asked questions
What is Punycode?
Punycode is the encoding (RFC 3492) that lets domain names contain non-ASCII characters while DNS itself stays ASCII-only. A Unicode label is converted to ASCII and prefixed with xn--, so münchen.de is stored as xn--mnchen-3ya.de.
How do I decode an xn-- domain name?
Paste it into this tool in decode mode. Each label starting with xn-- is run through the Punycode algorithm and turned back into its Unicode characters, so you can see the real name before trusting a link.
Why do some phishing links use Punycode?
Because Unicode characters can look identical to Latin letters — a Cyrillic а in “аpple.com” encodes to a completely different xn-- domain than the real apple.com. Decoding the xn-- form reveals substitutions your eyes would miss.
Does this tool apply full IDNA processing?
It applies the Punycode algorithm itself plus simple lowercasing. Full IDNA also involves extra character-mapping and validity rules (like bidi checks), so rare edge-case labels may be handled differently by registrars.
Is anything looked up online?
No. Punycode is a self-contained mathematical transformation, and this implementation runs it entirely in your browser without any network access.
Related tools
URL Encoder
Percent-encode text for URLs instantly. Switch between encodeURIComponent and encodeURI modes, see live output and copy the result. Free URL encoder.
URL Decoder
Decode percent-encoded URLs back to readable text instantly. Optional '+ as space' handling for query strings and clear errors for malformed input.
Text to Unicode Converter
Convert text to Unicode escapes and back: JavaScript \uXXXX, U+ code points or HTML &#x entities. Emoji-safe, bidirectional, runs in your browser.
Slug Generator
A free online slug maker that turns any title into a clean, SEO-friendly URL slug: lowercase, accents removed, words joined by hyphens. Live preview and copy.
Hreflang Tag Generator
Generate hreflang link tags for multilingual and multi-regional sites. Add URL and language rows, include x-default, and catch duplicate locales.