EllyTools

画像ツール

計算ツール

テキストツール

カラーツール

ファイルツール

便利ツール

URLエンコード/デコード

URLの特殊文字をエンコード・デコード

◈ 使い方

1

エンコードが必要な URL やクエリの値を貼り付けます

2

エンコード(そのまま → %xx)かデコード(%xx → そのまま)を選びます

3

結果をコピーして、コードに入れたり安全に共有したりします

❓ よくある質問

関連ツール

◉ こんな方におすすめ

  • ✓空白・日本語・記号を含む URL を調べている開発者
  • ✓パーセントエンコードされたサーバーログを読む QA エンジニア
  • ✓メールやチャット、クエリ文字列に URL を入れたい方

URLエンコード — 日本語やスペースを含むURLを安全に渡す

URLに使えない文字を %XX の形に変換し、逆に戻すこともできます。URL全体を変換するか、パラメータの値だけを変換するかを選べます。この区別を間違えるとリンクが壊れます。

URLで使える文字は決まっています。日本語、空白、&、?、#、+ などをそのまま入れると、途中で切れたり別の意味に解釈されたりします。だから %E3%81%82 のような形に置き換えます。

ブラウザのアドレス欄は日本語のURLを読みやすく表示してくれますが、内部では変換された形で扱われています。コピーして別の場所に貼ると長い文字列になるのはこのためです。

全体と値で変換の範囲が違います

URL全体を変換するときは、区切り記号を壊してはいけません。: / ? & = # はURLの構造を表すので、そのまま残す必要があります。

一方、パラメータの値だけを変換するときは、これらの記号も変換しなければいけません。検索語に & が入っていたら、そのまま置くと「次のパラメータが始まる」と読まれてしまうからです。

たとえば ?q=犬&猫 と書くと、犬というパラメータと猫というパラメータに見えます。値として変換すれば ?q=%E7%8A%AC%26%E7%8C%AB となり、ひとつの検索語として届きます。この切り替えがこのツールの「全体」と「値」です。

よく変換される文字

文字変換後そのまま置くと
空白%20(または +)URLがそこで切れる
&%26次のパラメータの始まりと読まれる
?%3Fクエリの始まりと読まれる
#%23以降がページ内リンク扱いになる
+%2B空白と解釈されることがある
あ%E3%81%82環境によって文字化けする

空白は %20 か + か

URLのパス部分では %20 を使います。クエリ文字列では、古くからの慣習で + も空白として扱われます。フォームから送信された値が + で埋まっているのはこのためです。

受け取る側の実装によって、+ を空白と読むか、+ という文字と読むかが分かれます。確実を期すなら %20 を使ってください。

二重に変換してしまう事故もよくあります。% 自体が %25 に変換されるため、変換済みの文字列をもう一度変換すると %2520 のようになり、元に戻らなくなります。作業の前に、その文字列がすでに変換済みでないか確かめてください。

使いどころ

  • •日本語を含むURLをメールやチャットに貼ると途中で切れる場合、変換してから貼ると崩れません。
  • •検索結果のURLを共有するとき、検索語に記号が入っていると壊れがちです。
  • •APIに渡すパラメータを組み立てるとき。値だけを変換するのが正しい使い方です。
  • •入力した文字列は保存されません。変換はすべてブラウザの中で行われます。

よくある質問

「全体」と「値」はどちらを使えばよいですか?

URLをまるごと扱うなら全体、パラメータの中身を作るなら値です。値のほうは / や & も変換します。

変換したのにリンクが開きません。

全体を変換すべき場面で値として変換した可能性があります。: や / まで変換されているとURLとして成立しません。

%2520 になってしまいます。

二重に変換されています。一度戻してから、必要な回数だけ変換してください。

日本語のURLはそのまま使えますか?

多くのブラウザは表示上そのまま扱いますが、外部に渡すときは変換しておくほうが安全です。