URL エンコード・デコード

パラメータでもURL全体でも、用途に合った正しい関数でエンコード。

🔒 ブラウザ内で完結 — 何もアップロードされません。

クエリ文字列パーサー

下の名前や値を編集すると、完全な URL が再構築・再エンコードされます。

このツールについて

スペース、アクセント文字、&=などの記号はURLにそのまま入れられず、%XXのエスケープシーケンス(パーセントエンコーディング)にする必要があります。重要なのはどちらの関数を使うか:encodeURIComponent&=?を含むすべてをエスケープし、パラメータ値に正解。encodeURIはURL構造の文字を保持し、完全なURLのエンコード専用です。

この2つの混同は定番のバグです。パラメータにencodeURIを使うと、&=を含む値が静かに壊れます。詳しくはencodeURI vs encodeURIComponentをご覧ください。コンバーター下のクエリ文字列パーサーは、貼り付けたURLの各パラメータを編集可能な表にデコードします——名前や値を変更すると完全なURLが再構築されます。すべてブラウザ内で動作 — その他のツールはdec0de.devへ。

URL(パーセント)エンコードは、URL を壊すような文字を % と 16 進のバイト値に置き換えます——空白は %20、アンパサンドは %26 になります。検索語、リダイレクト先、トークン、非 ASCII テキストをリンクやクエリ文字列に安全に入れる方法です。予約文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空白、そして非予約集合(英数字と - _ . ~)以外はすべてエンコードされ、それ以外は読める形のまま残ります。

よくある質問

encodeURIComponent と encodeURI、どちらを使う?

単一のクエリ値やパスセグメントには encodeURIComponent を使います(&・=・?・/ などをエンコード)。壊したくない URL 全体にだけ encodeURI を使います。値を encodeURI でエンコードするのは典型的なバグです。

空白が %20 のときと + のときがあるのはなぜ?

URL のパスでは空白は %20 です。form-urlencoded 形式のクエリ文字列では空白はしばしば + と書かれます。どちらも空白に戻り、「+ を空白として扱う」トグルで両モードを切り替えられます。

値のリストを一括でエンコードできますか?

はい。「バッチ:1行に1値」をオンにすると、各行が独立してエンコード・デコードされ、順序と空行はそのまま保たれます。結果はコピーもテキストファイルのダウンロードも可能です。

実際にエンコードが必要な文字は?

予約文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)、空白、非 ASCII テキスト、制御文字です。非予約集合——英数字と - _ . ~——は常にそのまま残ります。

デコードが「エスケープが無効」で失敗するのはなぜ?

% の後ろにはちょうど 2 桁の 16 進数が必要で、得られたバイト列は妥当な UTF-8 でなければなりません。エンコードされていないそのままの %(%25 と書く)、%2 のような途中で切れた列、他の文字コードのバイトはいずれもデコードを壊します。本ツールは問題のシーケンスと位置を示し、その場所へジャンプできます。

URL データは非公開に保たれますか?

はい。エンコード・デコード・クエリ文字列の解析はすべてブラウザ内で実行されます。入力内容は再読み込み後も残るようこのブラウザの local storage にのみ保存され、「クリア」ボタンで消去できます。どこにもアップロードされません。