URLを安全にエンコード・デコード
URLには一部の文字しか含めることができません。スペース、アクセント付き文字、絵文字、そして &、=、# などの記号は、URLに含める前にパーセントエンコーディング(% とそれに続く2桁の16進数で表現)する必要があります。このツールは、テキストをその形式に変換したり、元のテキストに戻したりします。処理はブラウザ内で完結するため、貼り付けたURLやそれに含まれるトークン、個人情報などがサーバーに送信されることは一切ありません。
主な機能
- 2つのエンコード範囲: 個別の値(コンポーネント)をエンコードするか、URL全体の構造を維持したままエンコードするかを選択できます。
- フォーム形式のエンコーディング: オプションでスペースを
+としてエンコードし、+をスペースにデコードできます。 - UTF-8対応: あらゆる言語や絵文字に対応しています。
- クエリ文字列ビューア: URLをデコードする際、各パラメータがキーと値のペアで表示されるため、長いトラッキングリンクやAPIコールが読みやすくなります。
- 即時出力: 結果はすぐに表示され、ワンクリックでコピーできます。また、モードを切り替えることで結果を入力欄に移動させ、簡単に再変換できます。
URLエンコードが必要な場面
APIリクエストの作成。 検索語やフィルターの値にスペースや記号が含まれている場合、クエリストリングに追加する前にエンコードする必要があります。そうしないと、値の中の & や = が新しいパラメータの始まりとして解釈されてしまいます。
トラッキングリンクやリダイレクトリンクの解読。 マーケティング用のリンクやログインリダイレクトには、エンコードされたURLが別のURLの中に含まれていることがよくあります。デコードすることで、リンクの本当の遷移先や、どのようなパラメータが含まれているかを確認できます。
Webフォームのデバッグ。 フォームを送信すると、各フィールドは & で連結された key=value のペアとしてエンコードされ、スペースは + になります。生のボディをデコードすることで、実際に何が送信されたかを正確に確認できます。
日本語などを含むリンクの共有。 ブラウザは https://example.com/東京 のようにきれいに表示しますが、実際のリクエストでは %E6%9D%B1%E4%BA%AC が使用されます。エンコードすることで、サーバーが受け取る形式を確認できます。
予約文字と非予約文字
RFC 3986では、エンコードが不要な非予約文字が定義されています。これには、英数字、-、.、_、~ が含まれます。一方、予約文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)はURLにおいて特別な意味を持つため、値の一部として使用する場合はエンコードする必要があります。それ以外のすべての文字(スペースや非ASCII文字を含む)は常にエンコードされます。
URLエンコードはBase64エンコードとは異なります。バイナリデータを扱いたい場合や、よりコンパクトな表現が必要な場合は、Base64エンコーダーをご利用ください。Base64URLモードを使えば、その出力はURLに直接含めても安全です。