コンテンツへスキップ
🚀 10件のツールが公開中、ずっと無料 — ツールボックスは成長を続けます
ホーム›ツール›エンコードツール›URLエンコード・デコードツール
エンコードツール

URLエンコード・デコードツール

無料のオンラインURLエンコード・デコードツールです。テキストやアドレス全体をパーセントエンコードし、%XX を読めるテキストに戻し、URL が実際に持っているクエリパラメーターを確認できます。変換はすべてブラウザー内で行われ、何もアップロードされません。

エンコードまたはデコード

テキスト、URL、またはパーセントエンコードされた文字列を貼り付けてください。入力と同時に変換され、何もアップロード・保存されません。

変換の向き
結果

上に貼り付けると変換されます。

オプション
変換の詳細

まだ何も変換していません。

すべてブラウザー内で動きます。

テキストは JavaScript でローカルに変換されます。サーバーに送信されることも、記録や保存されることもありません。

💡 URLエンコード・デコードツール

URL に使える文字はごく一部です。それ以外の文字、つまりスペース、日本語、絵文字、そして & や ? のように URL の構造を決める文字は、% と各 UTF-8 バイトの16進数2桁で書く必要があります。このツールは双方向に変換し、できあがった URL を部分ごとに表示します。

主なメリット

✓ 単一の値も URL 全体も、構造を壊さずにエンコード
✓ 正しい UTF-8 処理で、日本語や絵文字も崩れません
✓ 不正な % の並びや二重エンコードを検出
✓ データはブラウザーの外に出ません

よくある用途

• 検索語やリダイレクト先 URL をクエリに入れたリンクを作る
• %2F や %3D だらけのトラッキングリンクを読む
• パラメーターが崩れて届く API 呼び出しをデバッグする
• スペースが %2520 になってしまったリンクを直す

使い方

  1. 1.向きを選ぶ。 エンコードするなら テキスト → URLエンコード、デコードするなら URLエンコード → テキスト を選びます。
  2. 2.何をエンコードするか決める。 クエリパラメーター1つのような単一の値なら URL全体をエンコード をオフに、使える状態を保ちたい完全なアドレスならオンにします。
  3. 3.入力を貼り付ける。 入力と同時に変換されます。Web アドレスなら、URL の内訳にホスト、パス、デコード済みの各パラメーターが表示されます。
  4. 4.コピーまたは往復確認。 結果をコピーするか、入れ替え で逆向きに変換し直して元に戻ることを確認します。

パーセントエンコーディングの基本

ルールは RFC 3986 と HTML フォームの仕様で決まっています。バグの多くは、ルールを適用する場所を取り違えることから生まれます。

%XX
パーセント記号と16進数2桁で1バイトを表します。%20 はスペース、%2F はスラッシュ、%E3%81%82 は「あ」の UTF-8 の3バイトです。
非予約文字
英字、数字、- . _ ~ はエンコード不要です。エンコードしても構いませんが意味はありません。
予約文字
: / ? # [ ] @ ! $ & ' ( ) * + , ; = は URL の構造を作ります。値の中ではエンコードしないと URL の意味が変わります。
+ と %20
HTML フォームが送るクエリ文字列では + はスペースです。それ以外の場所では + は文字どおりのプラス記号です。
値か URL か
encodeURIComponent は予約文字をすべてエンコードし、単一の値向けです。encodeURI は予約文字を残し、アドレス全体向けです。
二重エンコード
2回エンコードすると %20 が %2520 になります。%25 の後に16進数2桁が続いていたら、エンコード済みの値が再度エンコードされています。

主な機能

  • エンコードとデコードの両方に対応、往復確認用の入れ替えボタン付き
  • 2つのモード:単一の値(encodeURIComponent)と URL 全体(encodeURI)
  • HTML フォームと同じく、スペースを + にするオプション
  • URL をスキーム、ホスト、パス、フラグメント、デコード済みパラメーターに分解
  • 黙って失敗せず、不正な % の位置を表示
  • 二重エンコードらしい入力には警告
  • 読み込み後はオフラインでも動作。アカウントもアップロードも不要

エンコードは HTML や SQL のエスケープではありません

パーセントエンコードは値を URL の中で 安全にするだけです。HTML、JavaScript、データベースのクエリの中で安全にするものではなく、それぞれに独自のエスケープ規則があります。正しく URL エンコードされた値でも、サーバーがデコードした後にインジェクション攻撃を運ぶことがあります。

そのため、行き先に合わせてエンコードしてください。URL にはパーセントエンコード、ページには HTML エスケープ、SQL にはパラメーター化クエリを使います。データを Base64 で URL に載せる場合は URL セーフなアルファベットを使いましょう。当サイトの Base64 エンコード・デコードツール はどちらにも対応しています。

よくある質問

URLエンコードとは何ですか?⌄

URLエンコード(パーセントエンコーディング)は、URL で使えない文字を、各バイトごとに % と16進数2桁で書き表す方式です。スペースは %20 に、「あ」は UTF-8 の3バイトである %E3%81%82 になります。これにより、どんなテキストでも意味を変えずに URL に載せられます。

encodeURI と encodeURIComponent の違いは?⌄

encodeURIComponent は / ? & = を含め、URL で特別な意味を持つ文字をすべてエンコードするため、クエリパラメーターのような単一の値に適しています。encodeURI はそれらを残すので、アドレス全体がそのまま使えます。値に encodeURI を使うと、値の中の & がパラメーターを2つに分けてしまいます。

スペースは %20 と + のどちらですか?⌄

場所によってどちらも正解です。HTML フォームのクエリ文字列(application/x-www-form-urlencoded)ではスペースは + です。パスやほとんどの API ではスペースは %20 で、+ はプラス記号そのものです。迷ったら %20 が常に安全です。

URL に %2520 と表示されるのはなぜ?⌄

%25 は % 記号そのものをエンコードした形なので、%2520 は %20 をもう一度エンコードしたものです。エンコード済みの値が再度エンコードされています。2回デコードすれば元に戻るので、その後エンコードが1回だけになるようコードを修正してください。

URLエンコードは暗号化ですか?⌄

いいえ。完全に元に戻せて鍵も使わないため、誰でもデコードできます。パスワード、トークン、個人情報を URL に隠す目的で使ってはいけません。URL はログ、ブラウザー履歴、Referer ヘッダーに残ります。

📖
詳しいガイド
URLエンコードを解説:パーセントエンコード、%20、よくあるバグ
ガイド全文を読む →
最終更新日:2026年10月31日
このページを共有