Punycode Encoder / Decoder (IDN Domains)
ガイド
Punycode Encoder / Decoder
Convert internationalized domain names (IDN) between Unicode and Punycode instantly. Enter a domain with non-ASCII characters like münchen.de and get the ASCII-compatible encoding xn--mnchen-3ya.de, or decode Punycode back to its readable Unicode form. Uses the RFC 3492 Bootstring algorithm for guaranteed-accurate results.
使い方
Enter a domain name in the input field. In Encode mode, type a Unicode domain (like 日本語.jp) to get its Punycode form (xn--wgv71a309e.jp). In Decode mode, paste a Punycode domain to see its readable Unicode form. Enable “Process full domain” to handle each label separately, with a per-label breakdown showing the conversion for each part.
特徴
- RFC 3492 Compliant – Implements the full Bootstring/Punycode algorithm for accurate encoding and decoding of internationalized domain names.
- Encode & Decode – Convert Unicode domains to ASCII-compatible Punycode (xn-- prefix) or decode Punycode back to readable Unicode.
- Full Domain Processing – Splits multi-part domains by dots and processes each label independently, passing pure ASCII labels through unchanged.
- Per-Label Breakdown – Shows a detailed breakdown of how each domain label was converted, making it easy to verify results.
- Input Validation – Detects invalid Punycode sequences, empty input, and malformed domains with clear error messages.
- リアルタイム変換 – Output updates instantly as you type or change the mode.
このツールを使用するタイミング
Use this tool when registering or configuring internationalized domain names, debugging DNS records that contain xn-- encoded labels, verifying that IDN domains resolve correctly, or converting between display form and wire form for email headers and SSL certificates. It’s essential for web developers and system administrators working with multilingual websites and international audiences.
よくある質問
-
What is Punycode?
Punycode is an encoding syntax defined in RFC 3492 that converts Unicode characters into a limited ASCII character set used by the Domain Name System (DNS). Since DNS only supports ASCII characters, internationalized domain names containing characters like ü, 日, or العربية must be encoded into an ASCII-compatible form. Punycode adds the prefix 'xn--' to encoded labels — for example, münchen.de becomes xn--mnchen-3ya.de.
-
What is an internationalized domain name (IDN)?
An internationalized domain name (IDN) is a domain name that contains characters outside the basic ASCII set — such as accented Latin characters (café.com), Chinese characters (例え.jp), Arabic script (مثال.com), or Cyrillic (пример.ru). IDNs allow people to use domain names in their native language and script. Behind the scenes, these are converted to Punycode for DNS resolution.
-
What does the xn-- prefix mean?
The 'xn--' prefix is the ASCII Compatible Encoding (ACE) prefix that identifies a domain label as Punycode-encoded. When a DNS resolver sees a label starting with 'xn--', it knows the rest of the label needs to be decoded from Punycode back to Unicode for display. For example, xn--mnchen-3ya is the Punycode encoding of 'münchen'. The prefix was chosen because 'xn--' is extremely unlikely to appear in normal domain names.
-
What is the difference between IDNA2003 and IDNA2008?
IDNA2003 and IDNA2008 are two versions of the Internationalized Domain Names in Applications standard. IDNA2003 mapped certain characters (like ß to ss, or uppercase to lowercase) before encoding, which meant some characters couldn't round-trip correctly. IDNA2008 removed most mappings and treats characters more strictly — for example, ß is now a valid character that encodes differently from ss. Most modern systems use IDNA2008, though some browsers still apply IDNA2003 compatibility mappings.
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
