Punycode変換ツール
出力
使い方
- モードを選択:UnicodeからPunycode(エンコード)またはPunycodeからUnicode(デコード)。
- 入力欄にドメイン名を入力します。
- 変換結果が即座に下に表示されます。
- コピーボタンで出力をコピーできます。
Punycodeとは
PunycodeはRFC 3492で定義されたエンコーディングシステムで、Unicode文字を限定的なASCII文字セットで表現します。国際化ドメイン名(IDN)に使用され、日本語・中国語・アラビア語・キリル文字などの非ラテン文字を含むドメイン名をDNSシステムで使用可能にします。
変換例
- 日本語.jp → xn--wgv71a309e.jp
- münchen.de → xn--mnchen-3ya.de
- 中文.com → xn--fiq228c.com
- ASCII文字のみのドメイン(例:example.com)はそのまま維持されます。
活用シーン
- ドメイン登録:国際化ドメイン名を登録する前に、Punycode形式を確認。
- メールのデバッグ:非ASCIIドメイン部分を含むメールアドレスの配送問題を診断。
- セキュリティ分析:視覚的に似たUnicode文字を使って正規ドメインを偽装するホモグラフ攻撃を検出(例:キリル文字の「а」とラテン文字の「a」)。
- DNSトラブルシューティング:国際化ドメインのDNSレコードに実際に格納されているASCII互換エンコーディングを確認。
- ブラウザ互換性:非ASCIIのURLがブラウザ内部でどのようにエンコードされるかを確認。
技術リファレンス
PunycodeはRFC 3492で定義され、IDNA(Internationalized Domain Names in Applications、RFC 5891)の一部として使用されています。エンコーディングには「xn--」プレフィックスが使われ、Punycodeエンコード済みラベルであることを示します。ドメイン名の各ラベル(ドット間の部分)は個別にエンコードされます。エンコーディングアルゴリズムは、Unicodeコードポイントを36進数の可変長整数方式でコンパクトなASCII表現に変換し、すべての有効なUnicodeドメインラベルをDNS文字セット内で表現できるようにしています。
プライバシー
すべての変換処理はブラウザ内で完結します。データがサーバーに送信されることはありません。