本文へスキップ
にゃんこツール

Punycode変換(日本語ドメイン⇔xn--)

日本語などのドメイン名(国際化ドメイン名、IDN)を、DNSで使われる「xn--」形式のPunycodeに変換します。逆変換にも対応します。URL全体の変換はURLエンコード/デコードをご利用ください。

🔒 ブラウザ内で完結・入力データはサーバーに送信されません

使い方

  1. 「変換方向」で「日本語 → Punycode」か「Punycode → 日本語」を選びます。
  2. ドメイン名をそのまま変換するなら「対象」で「ドメイン」を、ドットのない文字列だけを変換するなら「文字列のみ」を選びます。
  3. 「入力」にドメインや文字列を入力すると、「結果」に表示されます。「コピー」で貼り付け用にコピーできます。

注意事項

  • ドメインの変換はドット(. 。 .)で区切ったラベルごとに行い、日本語などを含むラベルだけに「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--」も文字列の一部として扱われるため、接頭辞は外して入力してください。

このページをシェア

↑↓ 選択 Enter 開く Esc 閉じる