言語:日本語

tools / punycode

punycode/

日本語ドメイン名などと、xn-- で始まる Punycode を相互変換。1 行に 1 つのドメイン名または URL を入力でき、まとめて貼り付けられます。

ドメイン名

Punycode

よくある質問

Punycode とは何ですか? 日本語ドメイン名が xn-- で始まる形になるのはなぜですか?

ドメインネームシステム(DNS)が扱えるのは、英字、数字、ハイフンだけです。Punycode は日本語や中国語などの文字をこれらの文字にエンコードし、先頭に xn-- を付けます。たとえば 中文.com は xn--fiq228c.com、日本語.jp は xn--wgv71a119e.jp、bücher.de は xn--bcher-kva.de になります。ブラウザのアドレスバーには元の文字が表示されますが、実際に DNS の問い合わせやリクエストに使われるのは xn-- の形式です。

DNS の設定、Nginx、SSL 証明書では、日本語ドメイン名はどちらの形で入力すればよいですか?

ほとんどの管理画面や設定ファイルでは xn-- 形式を入力します。DNS レコード、Nginx の server_name、証明書申請のドメイン名はいずれもそうです。元の文字をそのまま入力でき、自動で変換してくれるサービスも一部にあります。迷ったときは xn-- 形式を使うのが確実です。

URL 全体を貼り付けられますか?

はい、1 行に 1 つずつ貼り付けられます。変換されるのはホスト名の部分だけで、スキーム、ユーザー名、ポート、パス、パラメータはそのまま残ります。パスやパラメータ内の日本語は変換されません。その部分はパーセントエンコーディングを使うため、このサイトの URL エンコード / デコードツールで処理してください。

変換後に英字がすべて小文字になり、全角文字がなくなるのはなぜですか?

ドメイン名は大文字と小文字を区別しないため、最初にすべて小文字にします。全角の英字と数字は通常の文字に置き換えられ、句点「。」と全角のピリオドも区切りのドットとして扱われます。そのため 日本語。JP と 日本語.jp は同じ結果になります。

「ラベルの上限 63 文字を超えています」と表示されたのはどういう意味ですか?

DNS では、ドメイン名の各ラベル(2 つのドットの間の部分)は最大 63 文字、ドメイン名全体は最大 253 文字と決められており、ここでは変換後の xn-- 形式で数えます。ラベルに含まれる非 ASCII 文字が多く、種類も多いほど変換後は長くなり、上限を超えたドメイン名は登録も名前解決もできません。

デコード時に「有効な Punycode ではありません」と出たらどうすればよいですか?

xn-- の後ろの部分がエンコードの規則に合っていないという意味です。コピー時に数文字が欠けた、またはスペースや引用符が混ざったことが原因であることが多いです。デコードされるのは xn-- で始まるラベルだけで、ほかの部分はそのまま出力されるため、行全体を貼り付けても問題ありません。エラーのある行は、下に行番号付きで一覧表示されます。

変換結果が他のツールと違うとき、どちらが正しいですか?

ブラウザの処理が基準です。日本語・中国語・ロシア語・ギリシャ語・ドイツ語など一般的なドメイン名については、このツールの結果はブラウザのアドレスバーの処理と一致します。たとえばドイツ語の ß は保持されて xn--zca とエンコードされますが、古い規則で処理するツールには ss に変えてしまうものがあり、異なるドメイン名になります。

入力したドメイン名はサーバーに送信されますか?

いいえ。変換はすべてブラウザ内で行われ、入力した内容がサーバーに送られることはありません。また、そのドメイン名が登録済みかどうかを問い合わせることもしません。