URLエンコード・デコードツール
入力内容からエンコードかデコードかを自動判定してリアルタイム変換
変換オプション
入力
0 文字
サンプル:
変換結果
0 文字
「%」の後ろが16進数2桁になっていないか、文字のバイト列が途中で切れています。URLの末尾が欠けていないかご確認ください。「%」を文字としてエンコードしたい場合は、モードを「エンコード」に切り替えてください。
クエリパラメータ
「?」以降をキーと値に分解し、値をデコードして表示します
| キー | 値(デコード済み) |
|---|
URLエンコードの使い方
- 1 変換したいURLや文字列を入力欄に貼り付ける
- 2 自動判定で変換結果が即座に表示される(「エンコード」「デコード」への固定も可能)
- 3 URL全体をまとめて変換したい場合は、エンコード方式を「encodeURI」に切り替える
- 4 「コピー」ボタンで結果をコピーする(クエリ付きURLならパラメータ一覧も確認できる)
このツールでできること
- 入力内容からエンコード・デコードを自動判定してリアルタイム変換
- encodeURIComponent(クエリの値向け)とencodeURI(URL全体向け)の切り替え
- URLの「?」以降をキーと値に分解し、デコード済みの一覧表で表示
- 不正な%シーケンスはエラーで通知。処理はすべてブラウザ内で完結
こんな場面で使えます
日本語URLの中身を確認したいときに
検索結果やSNSからコピーした「%E3%81%82」だらけのURLを貼り付けると、元の日本語に戻して何が指定されているかを確認できます。
API・Webフォームの開発に
クエリの値をencodeURIComponentで正しくエスケープしたり、リクエストURLをキーと値に分解して意図した値が入っているかを検証したりできます。
広告・計測パラメータの点検に
utm_sourceなどの計測パラメータが正しく付いているか、リダイレクト先のURLが二重エンコードされていないかを、その場でチェックできます。
よくある質問
- Q. URLエンコード(パーセントエンコーディング)とは何ですか?
- A. URLでそのまま扱えない日本語・スペース・記号を、「%」と16進数2桁の組み合わせに置き換える変換方式です。例えば「あ」はUTF-8のバイト列に基づいて %E3%81%82 になります。
- Q. encodeURIComponentとencodeURIの違いは何ですか?
- A. encodeURIComponentはクエリの「値」など部品単位の変換用で、: / ? & = などの記号もすべてエンコードします。encodeURIはURL全体の変換用で、URLの区切りとして意味を持つ記号はそのまま残します。パラメータの値だけを変換したいときは前者、URLをまるごと変換したいときは後者を選んでください。
- Q. エンコードとデコードはどのように自動判定されますか?
- A. 入力に「%」+16進数2桁(例: %20)の並びが含まれていればデコード、含まれていなければエンコードと判定します。「50%20off」のようにどちらとも解釈できる文字列はデコードが優先されるため、エンコードしたい場合はモードを「エンコード」に固定してください。
- Q. 「不正な%シーケンスです」と表示されるのはなぜですか?
- A. 「%」の後ろが16進数2桁になっていない場合や、日本語のバイト列が途中で切れている場合に表示されます。URLをコピーしたときに末尾が欠けていないかご確認ください。「%」そのものを文字として変換したい場合は、モードを「エンコード」に切り替えると %25 に変換できます。
- Q. 「+」は半角スペースに戻りますか?
- A. 初期設定では「+」はそのまま残ります。フォーム送信形式(application/x-www-form-urlencoded)のデータを扱うときは、「デコード時に「+」を半角スペースとして扱う」をONにしてください。C++や数式など「+」に意味がある文字列を壊さないよう、初期値はOFFにしています。
- Q. 二重にエンコードされた文字列はどうなりますか?
- A. デコードは一度だけ行います。「%2525」のように多重エンコードされている場合は、「結果を入力へ」ボタンで結果を入力欄に戻し、もう一度デコードしてください。
- Q. 入力したURLは外部に送信されますか?
- A. いいえ。変換はすべてブラウザ内のJavaScriptで完結するため、URLやパラメータが外部に送信されることはありません。