Punycode Converter

Convert between Unicode domains and Punycode (xn--) per RFC 3492.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Punycode converter for internationalized domains

Punycode is the encoding from RFC 3492 that lets internationalized domain names (IDNs) — those with accents or non-Latin scripts — work with the ASCII-only DNS. This tool converts a Unicode domain into its xn-- ASCII form and decodes it back, useful for developers, registrars and anyone inspecting an unfamiliar xn-- domain.

How it works

The converter implements the full Bootstring algorithm and processes a domain one dot-separated label at a time:

encode: each label with non-ASCII chars → "xn--" + bootstring encoding
decode: each "xn--" label → original Unicode characters
plain ASCII labels are left unchanged

Handling labels separately is why a multi-part domain round-trips cleanly.

Example

Encoding münchen.de:

  • münchen (contains ü) → xn—mnchen-3ya
  • de is ASCII → unchanged
  • Result: xn—mnchen-3ya.de

Decoding the same value returns münchen.de.

DirectionInputOutput
Encodemünchen.dexn—mnchen-3ya.de
Decodexn—mnchen-3ya.demünchen.de
Encodeexample.comexample.com (unchanged)

Everything runs locally in your browser.

Ad placeholder (rectangle)