ツール

無料オンラインURLエンコード・デコードツール

テキストをパーセントエンコードされたURLに変換したり、%20、%26など任意の%XXシーケンスをデコードできます。すべてブラウザ内で瞬時に処理されます。

0 chars
コピーしました!
0 chars

エンコード例一覧

入力 encodeURIComponent encodeURI
hello world hello%20world hello%20world
name=John&age=30 name%3DJohn%26age%3D30 name=John&age=30
https://example.com/path?q=hi https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhi https://example.com/path?q=hi
café résumé caf%C3%A9%20r%C3%A9sum%C3%A9 caf%C3%A9%20r%C3%A9sum%C3%A9
price: $9.99 (sale!) price%3A%20%249.99%20(sale!) price%3A%20%249.99%20(sale!)

URLエンコードとは?

URLエンコード(パーセントエンコーディングとも呼ばれます)は、URLで安全に使用できない文字を「%」記号と2桁の16進数に変換する仕組みです。例えば、スペースは%20、アンパサンドは%26、等号は%3Dになります。

URLは限られたASCII文字しか扱えないため、ブラウザやサーバーはこのエンコードを必要とします。スペース、アクセント付き文字、中国語の文字、特殊記号など、この安全な範囲外の文字はURLに含める前にすべてエンコードする必要があります。

encodeURIComponent と encodeURI の違い

JavaScriptにはURLエンコード用のネイティブ関数が2つ用意されています。どちらを使うかはエンコード対象によって異なります。

encodeURIComponent()

クエリ文字列の個々の値に使用します。文字・数字と - _ . ! ~ * ' ( ) 以外のすべてをエンコードします。/ : ? # & = @ もエンコードされます。

入力: hello world & more
出力: hello%20world%20%26%20more

encodeURI()

完全なURL文字列に使用します。/ : ? # & = @ のような構造上の文字を保持するため、URLとして有効な状態を保てます。

入力: https://site.com/path?q=hello world
出力: https://site.com/path?q=hello%20world

URLエンコードのよくある利用シーン

パーセントエンコーディングは、現代のWeb開発やAPIのあらゆる場面で登場します。

検索・クエリパラメータ

GETリクエストに追加する前に、ユーザーが入力した検索語をエンコードし、特殊文字がクエリ文字列を壊さないようにします。

動的な値を使うAPI呼び出し

RESTやGraphQLのAPIでは、パスセグメントやパラメータの値を曖昧さ回避のためパーセントエンコードする必要がある場合が多くあります。

OAuth・リダイレクトURL

OAuth 2.0のredirect_uriパラメータは、認可サーバーがコールバックアドレスを正しく解析できるよう完全にエンコードする必要があります。

非ASCIIのスラッグ

アラビア語、中国語、日本語、またはアクセント付きラテン文字のページURLは、ブラウザやクローラーとの最大限の互換性を保つためパーセントエンコードする必要があります。

HTMLフォームのGET送信

ブラウザはフォームの値をアクションURLに追加する前にエンコードします。この仕組みを理解すると、想定外の%2Bや%20が現れた際のデバッグに役立ちます。

よくある質問

%20は、encodeURIComponentとencodeURIの両方で使われるスペースのパーセントエンコード表現です。+記号は、application/x-www-form-urlencoded形式(HTMLフォームのGET送信)でのみスペースを表します。このツールは両方に対応しており、デコードモードでは%20と+のどちらもスペースとして扱われます。

クエリ文字列内の個々のパラメータ値(例:?q=hello+worldの検索語部分)にはencodeURIComponentを使用してください。URL全体をその構造を壊さずにエンコードしたい場合はencodeURIを使用します。encodeURIは/、?、#、&、=、@、:を保持するため、URLは有効なままになります。

はい。このツールは見つかったすべての有効な%XXシーケンスをデコードし、無効または認識できないシーケンスはそのまま残して警告を表示します。一部だけエンコードされたURLのデバッグに便利です。

いいえ。URLエンコード(パーセントエンコーディング)は、URLに安全に含められるよう不正な文字を%XXシーケンスに変換するものです。Base64エンコードはバイナリデータを印字可能なASCII文字列に変換するものです。両者は目的がまったく異なり、互換性はありません。

プライバシー

エンコード・デコードはすべて、ネイティブのJavaScript関数を使ってブラウザ内で処理されます。テキストがサーバーに送信されたり、保存・記録されたりすることは一切ありません。タブを閉じれば、入力内容の痕跡は完全に消えます。