Punycode / IDN 変換
国際化ドメイン名(IDN)を Punycode の xn-- ラベルに、またその逆に変換します。RFC 3492 の生の文字列のエンコードにも対応。1 行に 1 ドメイン、オフラインで動作。
32 文字 · 45 バイト(UTF-8)
0 文字 · 0 バイト(UTF-8)
すべてブラウザ内で実行されます。データがアップロードされることはありません。
Punycode 変換とは?
日本語.jp や bücher.example のような 国際化ドメイン名 を、DNS で使われる ASCII 形式(xn--bcher-kva.example)に、またその逆に変換します。生のモードでは、RFC 3492 のとおりに単一の Punycode 文字列をエンコードまたはデコードします。
Punycode 変換の使い方
- Punycode へ または Unicode へ を選びます。
- 入力の種類 を選びます。ドメイン名(xn-- ラベル)(各ラベルを別々に処理し、
xn--を追加・削除)か、生の Punycode 文字列(RFC 3492) です。 - 入力 に 1 行につき 1 つのドメインを入力します。
- 変換されたドメインを 出力 からコピーします。
例
Bücher.example
xn--bcher-kva.example
Punycode 変換を使うべき場面
IDN の背後にある実際の DNS 名を確認するとき、ASCII の名前を必要とする DNS レコード、TLS 証明書、Web サーバーを設定するとき、そっくりな(ホモグラフ)ドメインを見分けるときに使います。登録できるかどうかは、レジストラーの規則を確認してください。
Punycode 変換の仕組み
ドメインモードでは、入力は .(および表意文字のピリオド 。.。)でラベルに分割されます。各ラベルは NFC に正規化され、小文字にされます。非 ASCII 文字を含むラベルは RFC 3492 の Bootstring アルゴリズム(36 進、バイアス調整)でエンコードされ、xn-- が前置されます。デコードは、xn-- で始まるラベルについてこの逆を行います。IDNA2008/UTS #46 の完全な検証(たとえば使用できない文字や双方向の規則)は行いません。
一般的な使用例
- IDN ドメインの DNS レコードや証明書を作る
- ログや証明書にある xn-- の名前を読む
- フィッシングリンクの疑わしいそっくりなドメインを確認する
- RFC 3492 の実装をテストする
セキュリティ注意事項
他の文字体系のそっくりな文字(たとえばキリル文字の「а」とラテン文字の「a」)は異なる xn-- の名前になります。疑わしいリンクを Punycode に変換すると、それが分かります。
よくある質問
ドメインが小文字になるのはなぜですか?
ドメイン名は大文字小文字を区別せず、IDNA はエンコードの前に小文字へ対応付けるため、Bücher と bücher は同じ結果になります。
生のモードは何をしますか?
ラベルの分割や xn-- の追加をせずに、テキスト全体に素の RFC 3492 アルゴリズムを実行します。RFC の例でテストするときに便利です。
ドメインが有効かどうか確認しますか?
いいえ。変換だけを行います。レジストリは追加の IDNA 規則を適用します。