Punycode / IDN 変換

ドメイン名を Unicode と ASCII Punycode の間で変換します。ドメインラベルを調査し、混在スクリプト、よくある類似文字、不可視文字を検出します。

ブラウザ内でローカルに実行
ドメインのテキストはローカルで解析され、DNS や Web サイトへのリクエストは行われません。問題が見つからない結果は明白なリスクを減らしますが、ドメインが信頼できることを証明するものではありません。
Unicode または Punycode ドメインホスト名のみ。パスとクエリ文字列は削除されます。
ラベルごとのスクリプト解析
ラベルASCII / Punycodeスクリプトリスク
各ラベルを調査するためにドメインを入力してください。
検出結果
  • アナライザーは混在スクリプト、不可視文字、双方向制御文字、よくある類似文字を報告します。

Unicode 表示名は信頼できない入力として扱う

アカウント復旧、証明書、メール許可リスト、リダイレクト、セキュリティ判断では、ホスト名を正規化し、最新の IDNA 実装とアプリケーション固有のポリシーを使って ASCII 形式を比較してください。

ドメイン名を Punycode に変換し、検出結果を読む手順

Unicode でも変換済みでも構いません。ホスト名を入力するか貼り付けて「変換して解析」を押します。ツールは入力をホスト名に絞り込み、大文字小文字と互換形式を折りたたみ(NFKC と小文字化)、IDNA が無視する文字を削除したうえで、非 ASCII のラベルを Punycode に変換します。ASCII の行は、リゾルバーや許可リストが実際に見る形です。

Punycode ラベルはデコードして再エンコードも行います。正規の形に戻らないラベルは、文字化けとして表示せず「有効な Punycode ではない」と報告します。処理はすべてページ内で完結し、DNS 照会もサイトへのリクエストも発生しません。クリーンな結果は文字レベルの明らかなリスクが見つからなかったことを意味するだけで、ドメインが信頼できる証拠ではありません。

  1. münchen.de や xn--mnchen-3ya.de のようなホスト名を「ドメイン名」に入力します。完全な URL でも構いません。スキーム、パス、クエリ、ポートは変換前に取り除かれます。
  2. 「変換して解析」を押すか、入力欄で Enter キーを押します。「安全なサンプルを読み込む」は apple.example のキリル文字そっくり例を入力します。
  3. 「変換結果」で Unicode の形、ASCII / Punycode の形、そしてホモグラフ名の土台になる混同しやすい骨格を確認します。
  4. 「ラベル別の解析」表(ラベル、ASCII の形、スクリプト、リスク)と、その下の検出結果を確認します。
  5. 「ASCII をコピー」で正規化した ASCII ホスト名を取り出し、「クリア」で入力欄・表・検出結果を空にします。

変換が行うこと — そして証明できないこと

入力の扱いと正規化

入力欄は URL ではなくホスト名として扱われます。先頭のスキーム、パス、クエリ、末尾のポートは取り除かれ、最後のドットも外され、[::1] のような IP リテラルは変換せずにエラーメッセージで拒否されます。空の入力も拒否されます。

変換の前に名前は正規の形へ写されます。NFKC が全角や互換文字を畳み込み、ラベルは小文字化され、IDNA が無視する符号位置(ゼロ幅スペース、ソフトハイフン、バイト順マーク、異体字セレクタ、双方向制御文字)は削除されます。これはブラウザーがホスト名を使う前に行う処理と同じで、münchen.de、MÜNCHEN.DE、ゼロ幅スペースを含む表記はすべて同じ ASCII 出力になります。

非 ASCII のラベルは Punycode に変換され xn-- が付きます。Punycode ラベルもデコードと再エンコードを行い、xn--a のように正規の Unicode ラベルへデコードできない場合は、デコード結果を表示せず「有効な Punycode ではない」と報告します。

検出結果の読み方

赤い検出結果は、ブラウザーやリゾルバーが拒否するもの、または文字を隠しているものを示します。ハイフンで始まる・終わるラベル、ホスト名のラベルに使えない文字(アンダースコア、@、空白)、無効な Punycode ラベル、変換後に 63 オクテットを超えるラベルです。ASCII 名全体は 253 文字を超えないようにします。

同じラベル内の文字体系の混在、不可視文字や双方向制御文字、よくある類似文字(単純化した骨格とともに報告)は、ホモグラフ攻撃が使うパターンです。表のリスク表示はラベルごとの判断を示し、使えない・文字体系が混在する場合は「高」、Punycode 接頭辞や類似文字がある場合は「中」、通常の ASCII ラベルは「低」になります。

クリーンな結果が証明しないこと

解析は文字レベルのみです。DNS レコードの照会、証明書の取得、レジストリや評判データの参照は行いません。そのため、このページの検査をすべて通過しても、登録済みで実際に名前解決してコンテンツを配信するフィッシング ドメインである可能性は残ります。

比較には ASCII の形を使ってください。許可リスト、証明書の確認、リダイレクト規則では、表示上の Unicode 名ではなく正規化した ASCII ホスト名を、相手側システムが生成した ASCII の形と突き合わせます。レジストリ レベルで正確な判断が必要な場合は、完全な UTS#46/IDNA 実装で結果を確認してください。

最近使ったツール: