URLエンコード・デコード
上の欄に日本語やURLを入れるとエンコード、下の欄に %XX 形式を入れるとデコードします。
元のテキスト・URL
エンコード後
入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく
URLエンコード(パーセントエンコーディング)とは
URLに使える文字は、英数字と一部の記号だけと決められています。日本語や空白などをURLに含めるときは、
文字を UTF-8 のバイト列にして、1バイトずつ % + 16進数2桁で表します。これがURLエンコードです。
ブラウザのアドレス欄では日本語に見えていても、コピーして貼り付けると %E3%81%82... のような長い文字列になるのはこのためです。
変換例(早見表)
| 文字 | エンコード後 | 備考 |
|---|---|---|
| あ | %E3%81%82 | 日本語は1文字3バイト=%XXが3つ |
| (半角スペース) | %20 または + | + はフォーム送信の形式 |
| & | %26 | クエリの区切り。値の中では必ず変換 |
| = | %3D | キーと値の区切り |
| / | %2F | encodeURI では変換しない |
| ? | %3F | encodeURI では変換しない |
| # | %23 | ページ内リンクの記号 |
どちらの方式を使う?
- URL全体(encodeURI):URLとしての形(
https://、/、?、&)を保ったまま、日本語などだけを変換します。 - 値だけ(encodeURIComponent):検索キーワードなど、クエリパラメータの値1つを変換するときに使います。値の中に
&や=があっても壊れません。
APIのリクエストに日本語を含めるとき、ログに残ったURLを読みたいとき、メールで共有するURLを短く安全な形にしたいときなどに便利です。 データを文字列として埋め込みたい場合はBase64も選択肢になります。
よくある質問
encodeURIComponent と encodeURI の違いは?
encodeURIComponent は「/」「?」「&」「=」などURLの区切りになる記号もすべて変換するので、クエリパラメータの値1つ分を変換するときに使います。encodeURI はURL全体を変換するときに使い、区切り記号はそのまま残します。
スペースが %20 ではなく + になっていました。
HTMLフォームの送信(application/x-www-form-urlencoded)では、スペースを + で表します。「スペースを + にする」にチェックを入れると、その形式で出力します。デコード時は + をスペースとして扱うかを選べます。
Shift_JIS でエンコードされたURLは戻せますか?
このツールは UTF-8 のみに対応しています。%82%A0 のように1文字が2つの%で表されている場合は Shift_JIS の可能性があり、正しく戻せません。
変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。