URLエンコード・デコード

日本語や空白を含むURLを%XX形式にエンコードしたり、文字化けしたURLを元の文字にデコードしたりできます。URLを入れるとパスやクエリパラメータも表に分けて表示します。

URL解析

URLエンコード・デコードとは?

URLに使えるのは英数字と一部の記号だけなので、日本語や空白はパーセントエンコーディング(例:日 → %E6%97%A5)に変換する必要があります。アドレスバーでは日本語に見えるURLをコピーすると %E6%9D%B1… のような長い文字列になるのはこのためです。

このツールはJavaScriptのencodeURIComponentとencodeURIの両方に対応し、不正な%表記があれば何文字目が問題かを表示します。

使い方

  1. エンコードかデコードを選びます。
  2. 検索語やパラメータの値ひとつを変換するなら値(Component)、URL全体ならURL全体(URI)を選びます。
  3. 入力するとすぐに結果が表示されます。⇅ 結果を入力へを押すと逆方向に変換し直せます。
  4. 下のURL解析にアドレスを入れると、プロトコル・ホスト・パス・クエリパラメータを分けて表示します。

encodeURIComponent と encodeURI の違い

文字encodeURIComponentencodeURI
日本語、空白エンコードエンコード
: / ? # & = + , ; @ $エンコードそのまま
A-Z a-z 0-9 - _ . ! ~ * ' ( )そのままそのまま

クエリの値に & や = が含まれると、encodeURI ではパラメータが正しく分かれません。値には必ずComponent方式を使いましょう。

空白は %20?それとも +?

URLの標準(RFC 3986)では空白は %20 です。ただしHTMLフォームの送信形式(application/x-www-form-urlencoded)では空白を + で表します。Google検索のURLの q=東京+ラーメン がその例です。このようなURLをデコードするときは+ を空白にをオンにしてください。

よくある質問

デコードすると「UTF-8の文字として解釈できない」と表示されます。

古いサイトでは日本語をShift_JISやEUC-JPでエンコードしており、1文字が %93%FA のような2バイトで表されます。このツールと現在のブラウザの標準はUTF-8なので、Shift_JISのURLは解釈できません。

URLを2回エンコードするとどうなりますか?

% が %25 に変わり、%25E6%2597… のようになります。結果に %25 が多く見えたら二重エンコードされているので、2回デコードしてみてください。

日本語ドメインもエンコードされますか?

ドメインはパーセントエンコーディングではなく、Punycode(xn-- で始まる形式)に変換されます。たとえば「日本.jp」は xn--wgv71a.jp になり、URL解析ではその形で表示されます。