URL エンコーダー & デコーダー(パーセントエンコード)

URLの特殊文字をパーセントエンコーディングで変換、またはデコードします。クエリ文字列、APIリクエスト、安全なリンク作成に必須です。

この変換はブラウザ内だけで実行され、サーバーへはアップロードされません。

空白は %20 になります(+ ではありません)。既定はクエリ値向けのコンポーネントモードで、フル URI は予約文字を残します。

  • 入力0
  • 出力0
  • オプションコンポーネント (encodeURIComponent)

入力

出力

このツールについて

URL のパーセントエンコード/デコードを行います。予約文字・空白・Unicode をクエリ、パス、リダイレクト、API パラメータで安全に扱えます。

コンポーネントencodeURIComponent、既定)は単一値向け、フル URIencodeURI)は :, /, ?, & を残します。入力すると結果がライブ更新され、変換はブラウザ内だけです。

パーセントエンコードは暗号化ではありません。

よくある用途

  • 空白や &= を含むクエリ値のエンコード
  • ?redirect= に入れる入れ子 URL の準備・確認
  • パーセントエンコードされたログや API エラーを読める文字列へ戻す

使い方

  1. Encode / Decode を選びます。入力で結果が更新されます。
  2. クエリ/パス値ならフル URI をオフ(コンポーネント)。URL 全体のときだけオンにします。
  3. テキストまたはエンコード文字列を貼ります。Sample で両モードを比較できます。
  4. 出力をコピーします。失敗時は %ZZ、末尾の %、切り捨てられた UTF-8 を確認します。

encodeURI vs encodeURIComponent

入力コンポーネント (encodeURIComponent)フル URI (encodeURI)
a b&c=1a%20b%26c%3D1a%20b&c=1
https://ex.com/a?b=1https%3A%2F%2Fex.com%2Fa%3Fb%3D1https://ex.com/a?b=1
a+b=ca%2Bb%3Dca+b=c

値を埋め込むときはコンポーネント、既に完全な URL ならフル URI を使います。

入力 / 設定出力メモ
hello world → コンポーネントhello%20world空白 → %20
a b&c=1 → コンポーネントa%20b%26c%3D1単一値向けに &= をエンコード
a b&c=1 → フル URIa%20b&c=1予約記号は残し、空白は %20
hello+world → コンポーネント復号hello+world+ は文字そのもの(フォームの空白規則とは別)

実務での落とし穴

  • リダイレクト用の完全 URL をコンポーネントでエンコードすると /? まで %2F / %3F になります。
  • フォーム(application/x-www-form-urlencoded)は + を空白とみなしますが、decodeURIComponent はしません。URL 部品には %20 を使ってください。
  • エンコードはアクセス制御ではありません。クエリ内の秘密はログや Referer に残ることがあります。

参考資料

最終更新: 2026-07-26

よくある質問

encodeURI と encodeURIComponent の違いは?
コンポーネントモードは encodeURIComponent で &, =, ?, / などもエンコードします。フル URI モードは encodeURI で URL の区切りを残しつつ、危険な文字だけをエスケープします。
空白が + ではなく %20 になるのはなぜ?
本ツールはパーセントエンコード(encodeURIComponent)に従います。空白を + にするのは application/x-www-form-urlencoded のフォーム規則です。文字としての + はコンポーネントモードで %2B になります。
日本語や絵文字も扱えますか?
はい。UTF-8 バイト列としてパーセントエンコードされるため、ひらがな・漢字・絵文字も往復できます。
データはサーバーに送られますか?
いいえ。変換はブラウザ内だけで実行されます。