🔗 URLエンコード/デコード

URLやクエリ文字列をパーセントエンコード(%エンコード)で相互変換します。日本語も正しく処理し、クエリ文字列の解析にも対応。すべてブラウザ内で処理され、サーバーに送信されません。

「コンポーネント」は値ひとつ分(?& も含めて)をすべてエンコードします。「URL全体」は区切り記号を残したままエンコードします。

クエリ文字列を解析

URL全体(https://example.com/?a=1&b=2)またはクエリ部分(a=1&b=2)を入力すると、キーと値を一覧にして表示します。値は自動でデコードされます。

📘 使い方

  1. 「エンコード」または「デコード」を選びます。入力するとリアルタイムで結果が表示されます。
  2. エンコード時は「コンポーネント (encodeURIComponent)」か「URL全体 (encodeURI)」を用途に合わせて選びます。
  3. フォーム送信のようにスペースを「+」で表したい場合は「スペースを + に変換」にチェックを入れます。デコード時は「+」を空白に戻します。
  4. 「コピー」で結果をクリップボードへコピーできます。
  5. クエリ文字列の中身を確認したいときは、下の「クエリ文字列を解析」にURLを貼り付けてください。

❓ よくある質問

encodeURIComponent と encodeURI の違いは?

encodeURIComponent はクエリの値やパスの一部など「URLの部品ひとつ」をエンコードする用途で、? & = / : なども含めてエンコードします。encodeURI はURL全体をエンコードする用途で、区切り記号(/ ? : @ & = など)はそのまま残します。値を組み立てるときは前者、完成したURLを整えるときは後者が目安です。

「スペースを + に変換」はどんなとき使いますか?

HTMLフォームの標準的な送信形式(application/x-www-form-urlencoded)では、スペースが「+」で表されます。この形式に合わせたいときにチェックします。一方、encodeURIComponent はスペースを %20 にエンコードするため、用途に応じて使い分けてください。

デコードでエラーになるのはなぜですか?

% の後ろが16進数2桁になっていない(例:%GG%2 で途切れている)と、正しくデコードできず不正なシーケンスとしてエラーになります。エンコードされた文字列が途中で切れていないか確認してください。

日本語や絵文字も正しく変換できますか?

はい。ブラウザ標準のUTF-8ベースの関数を使っているため、ひらがな・漢字・絵文字なども正しくパーセントエンコード・デコードできます。処理はすべてブラウザ内で行われ、入力内容はサーバーに送信されません。