URLエンコーダ/デコーダ

A-Z a-z 0-9 - _ . ~以外の文字列は、URLに含まれる場合すべてパーセント符号でエンコードする必要があります。この項目を漏らすと、ブラウザが意図しない場所に送信されたり、APIが400エラーで呼び出しを拒否したりします。本エンコーダーは完全なURLや単純なパラメータ値を処理し、読めるテキスト形式と安全な通信用フォーマットの間を切り替えて処理します。ただし、明示的に要求しない限り、/や?のような構造的な文字は破壊せず扱います。

URLの符号化と復号化の方法

  1. 1

    URLまたは値を貼り付けます

    完全なURL、クエリ文字列、または単一のパラメータを入力してください。

  2. 2

    符号化レベルを選択してください

    フルURLモードでは`/ : ? #`がそのまま保持されます。コンポーネントモードでは予約されたすべての要素を除外します。

  3. 3

    変換を実行します

    すべての文字はUTF-8でエンコードされており、予約バイトは`%HH`に置換されています。

  4. 4

    必要に応じて逆変換します

    同じツールで、パーセントエスケープされた入力を元の文字へデコードできます。

encode と encodeComponent の違い

2つのモードはJavaScriptに由来し、それぞれ異なるRFC 3986の規則に対応します。

モード そのまま保持される文字 使う場面
完全なURL (encodeURI) : / ? # [ ] @ ! $ & ' ( ) * + , ; = すでに構造化されたURLがある場合
コンポーネント (encodeURIComponent) 非予約文字のみ 値をテンプレートに挿入する場合

このツールがよく解決する問題

  • クエリ値内のスペースは%20になり、サーバーが単一のパラメータとして受け取れるようになります。
  • 値内のアンパサンドは%26になり、新しいクエリのペアが開かないようにします。
  • 検索語内のプラス記号は%2Bになり、サーバーがスペースとして解釈しないようにします。
  • caféのような非ASCIIテキストはcaf%C3%A9になります(UTF-8、2バイト)。

二重エンコードの落とし穴

すでにエンコードされた文字列を再度エンコードすると、意味のない結果になります。たとえば%20は%2520になります。入力の出どころが不確かなときは、必ず先にデコードしてください。本ツールは、エンコード前に入力へパーセントシーケンスを検出すると警告します。

よくある質問

はい、フォーム-URLモードを選択するとその通りです。厳格なRFC 3986モードでは、+は文字通りの「+」として扱われます。なぜなら、URIにおいて正規のスペースとして使用されるのは%20のみだからです。

はい。フルURLモードでは、無効なURI構造を含まない文字のみがエンコードされるため、正しいURLは変更せずにそのまま表示されますが、スペースや非ASCIIの値内文字はエスケープ処理されます。

RFC 3986およびWHATWGのURL仕様に準拠したUTF-8です。ISO-8859-1などの従来のエンコーディングはサポートしていません。

いいえ。エンコード処理はブラウザ内でローカルで実行され、データは送信や保存されません。

関連ツール

このツールは他の言語でも利用できます