Punycode / IDN 変換ツール
国際化ドメイン名(IDN)を、読みやすい Unicode 形式と、DNS が実際に保持する ASCII 互換の Punycode(xn-- 形式)との間で変換します。DevKitLab は各ラベルを正規化し、非 ASCII のラベルを IDNA Punycode アルゴリズムで符号化したうえで、ラベルごとの内訳を表示するので、ドメインのどの部分が xn-- ラベルになったのかを正確に確認できます。デコードはその逆で、xn-- ラベルの並びを貼り付ければ元の Unicode ドメインを読み戻せます。処理はすべてブラウザー内で行われるため、貼り付けたドメインがページの外に出ることはありません。
- Unicode ドメインを ASCII の xn-- Punycode に符号化し、逆方向にも復号
- 複数ラベルのドメインに対応し、純 ASCII のラベルはそのまま保持
- レジストラやブラウザーの想定どおり NFC に正規化し小文字化
- ラベルごとの内訳を表示し、国際化ラベルをすべて明示
- ラベル単位でデコードするため、壊れた xn-- ラベル 1 つが全体を巻き込まない
- 完全にブラウザー内で動作し、貼り付けたドメインは一切アップロードしない
概要
国際化ドメイン名に特化した変換ツールです。読みやすい Unicode ドメインを DNS が使う ASCII の xn-- 形式に変換したり、xn-- ラベルをそれが表す文字へ復号したりできます。ラベルごとの対応を常に可視化し、インストール不要で、貼り付けたドメインをサーバーへ送ることもありません。
- 01
符号化と復号を 1 画面で
同じ画面で Unicode ドメインを ASCII Punycode に符号化し、xn-- ラベルを Unicode に復号できます。別途の変換ステップは不要で、方向を選べば結果とラベル内訳が入力に合わせて即時更新されます。
- 02
ドメイン全体をラベル単位で変換
ドメインをドットで分割し、各ラベルを個別に符号化・復号します。純 ASCII のラベルはそのまま残るため、com・co・uk などは素通りし、国際化ラベルだけが変化します。
- 03
NFC 正規化と大文字小文字の畳み込み
符号化の前に入力を Unicode NFC へ正規化し小文字化します。これはレジストラやブラウザーが名前を整える方法と同じで、得られる xn-- 出力は実際の DNS や証明書ツールの想定と一致します。
- 04
ラベルごとの内訳
ラベル表示に切り替えると、各ラベルが元の形式から変換後の形式へどう対応づくかが分かり、実際に xn-- Punycode になった(または由来する)ラベルには IDN タグが付きます。
- 05
堅牢なラベル単位のデコード
デコードは各ラベルを個別に処理するため、壊れた xn-- ラベルが 1 つあっても黙ってドメイン全体を損なうことはなく、明示されます。ログから取り出したホスト名も安心して貼り付けられます。
- 06
ブラウザーが受け付ける区切り文字に対応
ピリオドに加え、CJK テキストで使われる表意・全角のドット類もラベル区切りとして扱うため、東アジアのコンテンツからコピーしたドメインも正しく分割されます。
- 07
ワンクリックで入れ替え・再利用
現在の結果を入力へ戻して方向を反転させ、「符号化してから復号」の往復確認をワンクリックにまとめます。
- 08
ローカル処理のみ
符号化・復号・内訳のすべてがブラウザー内で動作します。貼り付けたホスト名やドメインは端末内にとどまり、アップロードされることはありません。
使い方
ドメインを貼り付け、方向を選び、結果をコピーするだけ。入力に合わせてすべて再計算されるので、変換ボタンを押す必要はありません。
- 01
入力欄にドメインを入力または貼り付けます。符号化なら Unicode ドメイン、復号なら xn-- の Punycode ドメインを入れます。
- 02
方向を「ASCII へ」にすると xn-- Punycode を生成し、「Unicode へ」にすると xn-- ラベルを文字として読み戻します。
- 03
「ドメイン」表示で変換後の全体を確認するか、「ラベル」表示に切り替えて各ラベルを個別に照合します。
- 04
IDN タグを見れば、どのラベルが国際化され、どのように書き換えられたかが正確に分かります。
- 05
出力をコピーするか、「入れ替え」で結果を逆方向に往復させて確認します。
詳細
符号化すべきか復号すべきか、結果に何を期待すべきかは、ドメインの行き先によって決まります。変換の挙動についての要点です。
- 「ASCII へ」は、DNS・TLS 証明書・メールルーティング・多くの API がドメインを保持・比較する際の xn-- 形式を生成します。
- 「Unicode へ」は人が読める名前を復元します。これは信頼されたドメインに対してブラウザーがアドレスバーに表示する内容です。
- 非 ASCII 文字を含むラベルだけが xn-- ラベルになります。com や www のような通常ラベルはそのまま通過します。
- ドメインは大文字小文字を区別せず、レジストリは正規化された 1 つの形式のみを保持するため、入力はまず NFC へ正規化し小文字化されます。
- 各ラベルは独立して符号化されるので、1 つのドメインに国際化ラベルと通常ラベルが混在しても特別な扱いは不要です。
- ラベル表示は、長いドメインのどの部分が国際文字を担っているかを確認する最速の方法です。
- デコードは壊れた xn-- ラベルを破棄せず、その周囲のラベルを保ったまま当該ラベルを明示します。
- 「入れ替え」で素早く往復確認できます。符号化し、入れ替え、元の Unicode ドメインがそのまま戻るかを確かめます。
活用シーン
Punycode は、国際化ドメインが ASCII しか扱えないシステムと出会うあらゆる場面——DNS レコード、証明書、メール、ログ、リンク確認——で登場します。
-
IDN の登録と設定
Unicode のブランド名や現地語ドメインを、レジストラ・DNS ゾーン・ホスティング画面に入力する xn-- 形式へ変換し、復号して正しく読めるか確認します。
-
TLS 証明書の発行と確認
認証局が SAN エントリで求める ASCII の xn-- 名を生成したり、証明書中の xn-- 名を復号してそれが対象とする人が読めるドメインを確認したりします。
-
メールと DNS ルーティングの調査
MX レコード・SPF エントリ・メールログに想定外の Punycode 形式が現れたとき、読みやすい形式と xn-- 形式を相互に変換します。
-
ログからホスト名を読む
サーバーログ・プロキシ記録・解析データからコピーした xn-- ホスト名を貼り付け、それが表す実際の国際化ドメインを読み戻します。
-
紛らわしい同形異義ドメインの発見
怪しい xn-- ドメインを復号してその背後の Unicode 文字を明らかにします。同形異義のフィッシングドメインが既知ブランドになりすます手口がこれです。
-
リンクやリダイレクトの構築
生の Unicode を正しく扱えない設定ファイル・リダイレクト規則・API リクエスト向けに ASCII ドメインを生成しつつ、表示用には読みやすい名前を保ちます。
-
ツールの IDN 対応テスト
対になる Unicode と xn-- のドメインを作り、パーサー・バリデーター・許可リストが両形式の国際化ドメインをどう扱うか検証します。
-
IDN の仕組みの説明
Unicode ドメインからラベルごとの xn-- 符号化への対応をリアルタイムに示し、DNS が国際化名をどう ASCII 互換に保つかを説明します。
関連情報
Punycode はドメインのラベル全体を単位に動作します。個々の文字をエスケープしたいときは、 Unicode エンコード・デコード がテキストと Unicode エスケープを相互に変換します。ホストではなくアドレスのパスやクエリ部分には、 URL エンコーダー・デコーダー が URL パーセントエンコーディングを担い、完全なアドレスをホスト・パス・パラメーターに分解するには、 URL ツール が URL を解析・再構築します。国際的なテキストから読みやすい ASCII スラッグが欲しいときは、 スラッグジェネレーター がローマ字化して URL に安全な形へ整えます。
使い方のヒント
入力がきれいなドメインで、方向がデータと一致しているとき、変換は正確になります。符号化と復号を完全に可逆に保つ習慣をいくつか紹介します。
- 完全な URL ではなく裸のホスト名を貼り付けます。スキーム・ポート・パス・クエリを取り除き、ドメインのラベルだけを変換します。
- 正規化はツールに任せます。大文字小文字を畳み込み NFC を適用するので、自分で小文字化や事前正規化をする必要はありません。
- 名前を DNS や証明書申請にコピーする前に、ラベル表示でどのラベルが xn-- になったかを確認します。
- 複数の文字体系が混在したり珍しい紛らわしい文字を使う復号結果は、安全の保証ではなく同形異義の警告として扱います。
- 「入れ替え」で往復確認します。符号化し、入れ替え、元の Unicode ドメインがそのまま戻ることを確かめます。
- ASCII ラベルは意図的にそのまま残されることを覚えておきます。何も変わらない場合、そのラベルに符号化が必要な文字が無かっただけです。
- 内部ホスト名を扱い終えたらパネルをクリアします。ローカル処理でデータは端末内に残りますが、入力は削除するまで保持されます。
制限事項
Punycode はドメインを ASCII で書く方法であって、検証したり保護したりする手段ではありません。いくつかの限界を念頭に置いてください。
- ドメインを符号化しても登録されるわけでも存在確認が行われるわけでもなく、名前を ASCII 形式へ書き換えるだけです。
- このツールは NFC と大文字小文字の畳み込みは行いますが、レジストラが課す完全な UTS-46 妥当性検査は行わないため、符号化できた名前でも登録時に拒否されることがあります。
- ホストのみを変換します。スキーム・パス・クエリは Punycode 符号化されないので、完全な URL ではなく裸のドメインを貼り付けてください。
- 復号した xn-- ドメインは含まれる文字を示しますが、それが正当なブランドか紛らわしい同形異義かまでは判別できません。
- Punycode は暗号化ではなく符号化です。誰でも xn-- 名を復号して戻せるため、何も隠しません。
- 有効な Punycode でないラベルは推測せず明示されるので、壊れた xn-- 文字列は誤解を招くテキストを返さずエラーを報告します。
よくある質問
Punycode、国際化ドメイン、xn-- プレフィックス、同形異義ドメイン、そして URL エンコードとの違いについてのよくある質問。
Punycode と xn-- プレフィックスとは何ですか?
Punycode は、DNS が許可する ASCII の英字・数字・ハイフンだけで Unicode のドメインラベルを表す符号化です。各国際化ラベルは xn-- に続けて符号化済みの文字が付き、münchen は xn--mnchen-3ya になります。読みやすい Unicode 名と xn-- 名は同じドメインを指します。
ドメインを Punycode に変換するには?
方向を「ASCII へ」にして、münchen.de や 你好.com のような Unicode ドメインを貼り付けます。ツールは入力に合わせて各ラベルを正規化・符号化し、純 ASCII ラベルはそのままに、国際化ラベルには xn-- を付けます。
xn-- ドメインを Unicode に復号するには?
方向を「Unicode へ」にして xn-- ドメインを貼り付けます。各ラベルが個別に復号され、国際化ラベルは文字に戻り、com のような通常ラベルはそのまま通過します。
なぜドメインの一部しか変わらないのですか?
符号化が必要なのは非 ASCII 文字を含むラベルだけです。com・www・co のようなラベルはすでに DNS の文字集合に収まっているのでそのまま残ります。ラベル表示では、実際に xn-- になった(または由来する)各ラベルに印が付きます。
同形異義(紛らわしい)ドメインとは何ですか?
同形異義ドメインは、よく知られたラテン文字に似た Unicode 文字を使って既知のブランドになりすまします。xn-- 形式を復号すると名前の背後にある本当の文字が明らかになるため、怪しい xn-- ドメインの Unicode を確認することは有用なフィッシング対策になります。
Punycode は URL エンコードとどう違いますか?
Punycode はアドレスのドメイン(ホスト)部分を符号化して DNS が国際化名を保持できるようにし、URL パーセントエンコーディングはパスやクエリを扱います。URL の異なる部分に適用されるので、ホストより後ろは URL エンコーダーを使ってください。
ドメインはどこかにアップロードされますか?
いいえ。符号化・復号・ラベルごとの内訳はすべてブラウザー内で動作します。貼り付けた内容はサーバーへ送られないので、内部ホスト名やドメインは端末内にとどまります。
関連ツール
ツール集の中で Unicode エスケープ、URL エンコード、スラッグ生成の探索を続けましょう。