Safe Tools

URL エンコード / デコード

URLパラメータなどを安全にエンコード・デコード。ブラウザ内で完結します。

📖パーセントエンコーディングの仕様と注意点を見る

URLエンコード(パーセントエンコーディング)とは?

URLには、アルファベット、数字、および一部の記号(-, ., _, ~ など)しか使用できないという厳密なルール(RFC 3986)があります。

日本語などのマルチバイト文字や、URLの制御に使われる「予約文字」をURLデータとして送信したい場合、それらを % と16進数を用いた安全な文字列に変換する必要があります。

エラーの原因になりやすい「予約文字」

以下の記号はURL内で特別な意味を持つため、パラメータの値として送る場合は必ずエンコードしなければなりません。

  • ?: クエリストリング(パラメータ)の開始を表します。
  • &: 複数のパラメータを区切る役割を持ちます。
  • =: パラメータのキーと値を結びつけます。
  • #: ページ内の特定の場所(フラグメント)を指し示します。
  • /: パスの階層を区切ります。

半角スペースは %20 か + か?

実務で非常に混同されやすいポイントです。仕様によってスペースのエンコード結果が異なります。

  • %20(RFC 3986): URIの標準的な仕様です。URLのパス部分や、一般的なAPIリクエストではこちらが推奨されます。
  • +(application/x-www-form-urlencoded): HTMLのフォーム(<form>)からPOST送信される際の古い仕様です。現在でも一部のWebシステムや言語の標準関数で、スペースが + に変換されることがあります。

JavaScriptにおける関数の使い分け

JavaScriptでエンコードを行う場合、用途に合わせて2つの関数を使い分ける必要があります。

  • encodeURI()UrlEncodeDecode.encodeURI
  • encodeURIComponent()UrlEncodeDecode.encodeURIComponent

入力 (テキスト)

出力 (エンコード済み文字列)

セキュリティについて

このツールはすべての処理をブラウザ内で行います。入力されたデータが外部サーバーに送信されることはありません。安心してご利用ください。