MUTools

エンコード・デコード

URLエンコード・デコード

URLエンコード・デコードツールは、テキストを URL エンコード(パーセントエンコーディング)形式に変換したり、URLエンコードされた文字列を元のテキストに戻したりするツールです。入力欄に文字を入れた瞬間にリアルタイムで結果が更新されるため、変換ボタンを押す必要はありません。

変換モード
エンコード範囲
URLエンコード済み出力
入力すると結果がここに表示されます

入力内容はすべてブラウザ内で処理され、サーバーには送信されません。

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

URLエンコード・デコードツールは、テキストを URL エンコード(パーセントエンコーディング)形式に変換したり、URLエンコードされた文字列を元のテキストに戻したりするツールです。入力欄に文字を入れた瞬間にリアルタイムで結果が更新されるため、変換ボタンを押す必要はありません。

URL エンコードとは、URL として使用できない文字(日本語・スペース・記号など)を % に続く 2 桁の 16 進数(例: %E3%81%82)に変換する仕組みです。Web ブラウザや HTTP リクエストが内部で自動的に行っているため、普段意識することは少ないですが、API 開発やデバッグ時に手動でエンコード・デコードしたい場面は多くあります。

2 つのエンコード範囲を選べます。「クエリパラメータ向け」は :/?#@ といった URL の区切り文字を含むほぼすべての特殊文字をエンコードします。クエリパラメータの値として埋め込む文字列や、URL の一部として使う任意の値に適しています。「URL 全体向け」は URL の構造を保つ区切り文字(:/?# など)はそのままにして、それ以外の非 ASCII 文字などのみをエンコードします。完成した URL を壊さずにエンコードしたい場合に使います。

また「空白を + で表現」オプションをオンにすると、空白文字を %20 の代わりに + に置換します。HTML フォームの送信で使われる application/x-www-form-urlencoded 形式に対応したい場合に便利です。

入力したテキストや URLエンコード文字列はすべてお使いのブラウザ内で処理され、外部サーバーへは送信されません。ブラウザだけで完結します。

使い方

  1. 上部の「変換モード」で「テキスト → URL」または「URL → テキスト」を選びます。
  2. 「エンコード範囲」で「クエリパラメータ向け」か「URL 全体向け」かを選びます。通常はクエリパラメータ向けが安全です。
  3. 入力欄にテキストまたは URLエンコードされた文字列を入力・貼り付けします。結果欄がリアルタイムに更新されます。
  4. 必要に応じて「空白を + で表現」オプションを切り替えます(form-encoding 形式に対応)。
  5. 結果欄の右上にある「コピー」ボタンで変換結果をクリップボードにコピーできます。

利用シーン

  • API リクエストのクエリパラメータに日本語や記号を含める際に、正しいエンコード結果を手軽に確認したい場合。
  • ブラウザのアドレスバーや HTTP リクエストログに表示された URLエンコードされた文字列を、人間が読めるテキストに戻したい場合。
  • HTML フォームの POST データ(application/x-www-form-urlencoded)のエンコード・デコードを確認したい場合。
  • OAuth の redirect_uri や署名対象文字列のエンコードが仕様どおりかどうかを検証したい場合。
  • 外部サービスから受け取った URLエンコードされたパラメータをデコードして、中身を素早く確認したい場合。

注意点

  • 「クエリパラメータ向け」は encodeURIComponent と同等です。URL の区切り文字(: / ? # @ など)も含めてエンコードします。クエリパラメータの値や任意の文字列を URL に埋め込む際はこちらを使ってください。
  • 「URL 全体向け」は encodeURI と同等です。URL の構造を壊す文字(非 ASCII など)のみエンコードし、: / ? # などの区切り文字は保持します。既存の URL 全体を安全にエンコードしたい場合に使います。
  • 「空白を + で表現」を有効にすると、エンコード時に %20 を + に置換し、デコード時には + を %20 に戻してから処理します。HTML フォームが application/x-www-form-urlencoded で送信する形式に対応しています。
  • 不完全な %xx シーケンス(例: %GG や末尾に % だけある場合)を含む文字列をデコードしようとすると、エラーメッセージが表示されます。元の文字列を確認してください。
  • 日本語や絵文字を含むテキストもそのまま入力できます。エンコード時は内部的に UTF-8 バイト列に変換してからパーセントエンコーディングを適用します。

よくある質問

テキストや URLエンコードされた文字列はサーバーに送信されますか?
送信されません。変換処理はすべてお使いのブラウザ内で完結します。機密情報を含む URL やパラメータの確認にも安心して利用できます。
「クエリパラメータ向け」と「URL 全体向け」はどう使い分けますか?
URL に埋め込む個々の値(検索ワードやパラメータの値など)をエンコードする場合は「クエリパラメータ向け(encodeURIComponent)」を選んでください。完成した URL 文字列全体を安全にエンコードしたい場合は「URL 全体向け(encodeURI)」を使います。迷ったらクエリパラメータ向けが安全です。
日本語はどのようにエンコードされますか?
テキストを内部的に UTF-8 のバイト列に変換し、それをパーセントエンコーディングします。例えば「あ」は %E3%81%82 になります。
「空白を + で表現」はどんなときに使いますか?
HTML フォームの送信(application/x-www-form-urlencoded 形式)では、空白文字が + として送信されます。サーバーから受け取ったこの形式のデータをデコードする際や、フォームデータを手動で組み立てる際に使ってください。
デコードでエラーが表示されました。どうすればいいですか?
入力した文字列に不完全な %xx シーケンス(例: % の後ろが 1 文字しかない、%GG のような 16 進数でない文字が続くなど)が含まれている可能性があります。元の文字列をよく確認してから再入力してください。