Punycode変換(日本語ドメイン⇔xn--)
日本語などのドメイン名(国際化ドメイン名、IDN)を、DNSで使われる「xn--」形式のPunycodeに変換します。逆変換にも対応します。URL全体の変換はURLエンコード/デコードをご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
使い方
- 「変換方向」で「日本語 → Punycode」か「Punycode → 日本語」を選びます。
- ドメイン名をそのまま変換するなら「対象」で「ドメイン」を、ドットのない文字列だけを変換するなら「文字列のみ」を選びます。
- 「入力」にドメインや文字列を入力すると、「結果」に表示されます。「コピー」で貼り付け用にコピーできます。
注意事項
- ドメインの変換はドット(. 。 .)で区切ったラベルごとに行い、日本語などを含むラベルだけに「xn--」を付けます。英数字だけのラベルはそのままです。
- 日本語などを含むラベルは、変換前に全角英数を半角にし(NFKC)、英字を小文字にそろえます。ブラウザのIDN処理(UTS #46)を完全に再現するものではありません。
- 「文字列のみ」は、RFC 3492のPunycode本体だけを扱い、「xn--」は付けません。
- ラベルは変換後63文字、ドメイン全体は253文字までです。超える場合はエラーになります。
- 偽装サイトに使われる見た目の似た文字(ホモグラフ)の判定は行いません。不審なURLは「xn--」付きの表記で確認するのが安全です。
用語解説
Punycode
Unicodeの文字列を、英数字とハイフンだけで表す符号化方式です(RFC 3492)。ドメイン名に日本語を使うときに利用されます。
IDN(国際化ドメイン名)
日本語や中国語など、英数字以外の文字を含むドメイン名です。DNS上ではPunycodeに変換され、「xn--」で始まる形で扱われます。
xn--
Punycodeに変換されたドメインのラベルを示す接頭辞(ACEプレフィックス)です。
よくある質問
日本語ドメインはなぜ「xn--」で始まる文字列になるのですか?
DNSは英数字とハイフンしか扱えないため、日本語などのドメイン名はPunycodeでASCIIに変換されます。変換されたラベルを見分けるため先頭に「xn--」が付きます。ブラウザのアドレスバーでは日本語で表示されても、通信では「xn--」形式が使われます。
「ドメイン」と「文字列のみ」はどう違いますか?
「ドメイン」はドットで区切ったラベルごとに変換し、日本語を含むラベルにだけ「xn--」を付けます(例: 日本語.jp → xn--wgv71a119e.jp)。「文字列のみ」はRFC 3492のPunycode本体だけを変換し、「xn--」は付けません(例: 日本語 → wgv71a119e)。
大文字や全角の英数字を入れると結果が変わりますか?
日本語などを含むラベルは、変換前に全角英数を半角にして小文字にそろえます。そのため「ABC日本」は「abc日本」として変換されます。英数字だけのラベルや、「文字列のみ」の変換では入力をそのまま扱います。
デコードで「使えない文字」と表示されるのはなぜですか?
Punycodeで使えるのは英数字とハイフンだけです。「xn--」の後ろに記号や日本語が混ざっていないか、途中で切れていないかを確認してください。「文字列のみ」では「xn--」も文字列の一部として扱われるため、接頭辞は外して入力してください。
このページをシェア
