URLエンコード・デコード

チートシートPDF

上の欄に日本語や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キーと値の区切り
/%2FencodeURI では変換しない
?%3FencodeURI では変換しない
#%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 の可能性があり、正しく戻せません。

変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。