Punycode Converter - Free Online Tool | PivaBox

Convert between Unicode domain names and Punycode (RFC 3492) — essential for international domain names

Punycode Converter — Encode and Decode Internationalized Domain Names (IDN) Between Unicode and ASCII Punycode (RFC 3492)

  1. Enter your domain name into the input field — use a Unicode domain like münchen.de or 日本語.jp if you want to encode to Punycode, or a Punycode domain like xn--mnchen-3ya.de if you want to decode back to Unicode. The tool handles full domain names with multiple labels (separated by dots), processing each label independently — this means www.bücher.de correctly becomes www.xn--bcher-kva.de with only the internationalized label encoded.
  2. Select your conversion direction using the toggle: Encode (Unicode → Punycode) converts international characters to the ASCII-compatible xn-- prefix format used in DNS, or Decode (Punycode → Unicode) reverses the process to reveal the human-readable domain. The tool shows you an example conversion below the input field — for instance, if you're in Encode mode, it displays 'münchen.dexn--mnchen-3ya.de' as a helpful reference for the expected format.
  3. The conversion happens automatically as you type — your result appears instantly in the output section below. Click Copy to grab the converted domain for use in DNS configuration, server setup, certificate signing requests, or WHOIS lookups. The Punycode algorithm (RFC 3492, also known as Bootstring) is fully implemented in JavaScript within your browser — no API calls, no server processing, and your domain data never leaves your device. An informational section explains what Punycode is for users encountering the concept for the first time.

Frequently Asked Questions

What exactly is Punycode and why was it created?

Punycode is an encoding scheme defined in RFC 3492 that converts Unicode strings into a restricted ASCII character set compatible with the Domain Name System (DNS). The DNS was originally designed in the 1980s when ASCII was the universal standard — it had no mechanism for handling non-Latin characters like Chinese, Arabic, Cyrillic, or accented Latin letters. Punycode solves this by encoding any Unicode string into ASCII using a Bootstring algorithm, prefixing the result with <code>xn--</code> to signal that the label contains internationalized content. For example, the German city <code>münchen.de</code> is encoded as <code>xn--mnchen-3ya.de</code> — DNS servers see only ASCII, but browsers decode it back to display the umlaut. This is the foundation of Internationalized Domain Names (IDNs), which now support domain names in hundreds of scripts worldwide.

Does this tool implement the full RFC 3492 Bootstring algorithm correctly?

Yes, the PivaBox Punycode Converter includes a complete JavaScript implementation of the RFC 3492 Bootstring algorithm, handling all edge cases specified in the standard: the <code>xn--</code> ACE prefix detection and stripping during decode, proper bias adaptation for variable-length integer encoding, the delimiter handling separating basic (ASCII) code points from extended code points within each label, overflow protection to prevent denial-of-service attacks via maliciously long Punycode strings, and multi-label domain support where each dot-separated label is encoded/decoded independently. The implementation handles the full Unicode code point range, meaning it correctly processes CJK characters, emoji, right-to-left scripts (Arabic, Hebrew), and extended Latin characters — not just common European accented letters.

What are the practical use cases for a Punycode converter, and when do I need to worry about it?

Punycode conversion is essential for several scenarios: (1) <strong>Domain registration</strong> — when registering an international domain (IDN) like <code>café.fr</code>, registrars store it as <code>xn--caf-dma.fr</code> in DNS zone files; understanding the Punycode representation helps verify correct registration. (2) <strong>SSL/TLS certificate issuance</strong> — Certificate Authorities require Punycode for IDN domain validation, and mismatches between Unicode and Punycode forms can cause certificate errors. (3) <strong>Phishing detection</strong> — attackers use Punycode to create lookalike domains (e.g., using Cyrillic 'а' instead of Latin 'a') — a Punycode converter helps security researchers identify and analyze such homograph attacks. (4) <strong>Server configuration</strong> — Nginx and Apache virtual host configurations may require Punycode for IDN ServerName directives. (5) <strong>Email deliverability</strong> — some legacy SMTP servers fail to process internationalized email addresses without Punycode conversion. PivaBox provides this converter entirely free and client-side, so your domain research remains private.