BYTETOOLS

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. 1

    Choose the direction: Unicode to Punycode, or Punycode to Unicode.

  2. 2

    Type or paste a domain name (or a bare label).

  3. 3

    Read the converted domain from the result box.

  4. 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