Developer ToolsEncoders & DecodersFree Tool
Punycode Converter
Convert internationalized domain name labels between Unicode and their ASCII-compatible Punycode form (the real xn-- encoding browsers use).
How to Use Punycode Converter
- 1Paste a domain name or label (Unicode or xn--...)
- 2Select Encode (Unicode → Punycode) or Decode (Punycode → Unicode)
- 3Click Process
- 4Copy the converted domain
Frequently Asked Questions
Yes — a full RFC 3492 bootstring implementation running in your browser, tested against known reference conversions (e.g. münchen → mnchen-3ya, москва → 80adxhks).
It splits on each dot and encodes only the labels that contain non-ASCII characters, prefixing each with the standard xn-- ACE prefix — exactly how real IDN domains are represented in DNS, e.g. café.example.com → xn--caf-dma.example.com.
Yes — in Decode mode, only labels starting with xn-- are decoded back to Unicode; other labels (already-ASCII parts like 'example' or 'com') are passed through unchanged.
No — the full encode and decode algorithm runs entirely in your browser; nothing is looked up or transmitted.
Related Tools
Base64 Encoder
Encode any text into Base64 using the browser-native btoa() function, with full Unicode/UTF-8 support.
Base64 Decoder
Decode Base64 back to readable text using the browser-native atob() function, with full Unicode/UTF-8 support.
URL Encoder
Percent-encode text for safe use in URLs, or decode it back, using the native encodeURIComponent/decodeURIComponent functions.
URL Decoder
Decode percent-encoded URL text back to its original characters using the native decodeURIComponent function.