URLエンコーダ/デコーダ
テキストをURL安全な形式にエンコードし、パーセントエンコードされた文字列を読みやすいテキストに戻してデコードします。
エンコードするためのURLまたはテキスト、またはデコードするためのパーセントエンコードされた文字列を貼り付けます。
エンコードまたはデコードされた結果がここに表示されます。
エンコードされた値をクリックしてクリップボードにコピーしてください。
URLエンコーダー/デコーダー — オンラインで無料でURLをエンコードおよびデコード
私たちの無料オンラインURLエンコーダー/デコーダーは、テキストをURLに安全なパーセントエンコード形式に変換し、パーセントエンコードされた文字列を読みやすいテキストに戻すことができます。任意のURLまたはクエリパラメータを貼り付け、エンコードまたはデコードを即座に実行し、結果をコピーできます。すべての処理はブラウザ内で行われるため、サーバーにデータを送信することはありません。
URLエンコードとは?
URLエンコード(パーセントエンコードとも呼ばれる)は、インターネット上で安全に送信できる形式に文字を変換します。URLは限られたASCII文字セットのみを含むことができます — 文字、数字、ハイフンやアンダースコアなどの少数の特殊文字。このセットにない文字は、%に続いてその2桁の16進数コードを付ける必要があります。
例えば、スペースは%20、アンドは%26、スラッシュは%2Fになります。このエンコードにより、?、&、=などの特殊文字がURLの区切り文字として誤解されることが防ぎます。
URLエンコードには2つの種類があります:
encodeURIComponentは/、?、#、&、=を含むすべての特殊文字をエンコードします。クエリパラメータの値や個々のパスセグメントをエンコードする際に使用します。encodeURIは/、?、#、&などのURL構造の文字を保持します。完全なURLをエンコードし、機能を維持したい場合に使用します。
このツールでは、使用ケースに応じて両方の方法を選択できます。
このツールの使い方
- テキストまたはURLを入力エリアに貼り付けます。
- 「エンコード」をクリックして、特殊文字をパーセントエンコード形式に変換します。ツールはデフォルトで
encodeURIComponentを使用します。これはクエリパラメータに安全です。 - 「デコード」をクリックして、パーセントエンコードされた文字列を読みやすいテキストに戻します。
- エンコードモードを切り替えします。「Component(コンポーネント)」(すべてをエンコード)と「URI(ユニバーサルリソース識別子)」(URL構造を保持)の間を、入力の下にあるボタンで切り替えることができます。
- 結果をクリップボードにコピーします。1クリックでコピーできます。
すべての処理はブラウザ内で即座に実行されます。
主な機能
| 機能 | 利点 |
|---|---|
| 双方向変換 | テキストをパーセントエンコード形式に変換するか、戻すか |
| 2つのエンコードモード | コンポーネントモード(クエリ値用)、URIモード(完全なURL用) |
| 実時間処理 | エンコードまたはデコードをクリックするたびに結果が即座に表示される |
| 全Unicode対応 | エモジ、CJK、アクセント付き文字を含む任意の文字を処理 |
| バッチ処理 | 一度にURLとクエリ文字列全体をエンコードまたはデコード |
| データ転送ゼロ | すべての処理がブラウザ内でローカルに実行される |
実際の使用例
クエリパラメータのエンコード
動的なクエリパラメータ付きURLを構築する際、スペースやアンド、特殊文字を含む値はエンコードする必要があります。例えば、「tool & die making」という検索クエリはtool%20%26%20die%20makingに変換されて、URLに安全に含まれなければなりません。エンコードしないと、&がパラメータ区切り文字として誤解されます。
エンコードされたURLのデコード
API、ログ、リダイレクトからエンコードされたURLを受け取った場合、実際の内容を理解するためにデコードすることがよくあります。%2Fpath%2Fto%2Fpageなどのパーセントエンコードされた文字列は、/path/to/pageにデコードして読みやすくなります。
ソーシャル共有用のURLの準備
ソーシャルメディアプラットフォームやメッセンジャーアプリでは、特殊文字を含むURLが破損することがあります。URLをエンコードすることで、メール、チャットメッセージ、ソーシャル投稿で共有しても問題なく届きます。
APIリクエストのデバッグ
REST APIのデバッグ中に、リクエストURLにパーセントエンコードされた値が頻繁に現れます。それらをデコードすることで、正しいパラメータが送信および受信されているかを確認できます。
一般的にエンコードされる文字
| 文字 | エンコード | 一般的な使用 |
|---|---|---|
| スペース | %20 |
URL内の単語の区切り |
& |
%26 |
クエリ値内のアンド |
= |
%3D |
クエリ値内のイコール |
? |
%3F |
質問記号 |
/ |
%2F |
スラッシュ |
# |
%23 |
ハッシュ/フラグメント識別子 |
% |
%25 |
パーセント記号自体 |
+ |
%2B |
プラス記号 |
@ |
%40 |
アット記号(URL内のメールアドレス) |
: |
%3A |
コロン |
; |
%3B |
セミコロン |
é |
%C3%A9 |
アクセント付き文字(UTF-8) |
🎉 |
%F0%9F%8E%89 |
エモジ(UTF-8) |
HTMLエンティティエンコードについては、こちらを参照してください。
URLエンコードの使用に関するヒント
- ダブルエンコード(二重エンコード)を避けてください。これは、エンコードされた値を再度エンコードして意図しない結果を引き起こす可能性があります。
- HTMLフォーム送信では
+がスペースとして扱われることがあります。%20を使用する場合、+がURLエンコードされた値に含まれていることを確認してください。 - クエリパラメータの順序に注意してください。一部のAPIでは、パラメータの順序が重要になる場合があります。
- URLに特殊文字を含める際は、URLエンコードを必ず実行してください。これは、URLが正しく解析され、ブラウザやサーバーに誤解されないために重要です。
FAQ
1. encodeURIComponentとencodeURIの違いは何ですか?
encodeURIComponentは、URLの一部として使用されるすべての特殊文字をエンコードします。一方、encodeURIは、URL全体として使用される文字(:、/、?、#など)を保持し、それ以外の特殊文字をエンコードします。
2. URLエンコードを手動で行う必要がありますか?
いいえ、JavaScriptのencodeURIComponentやencodeURI関数、またはオンラインツールを使用して自動で行うことができます。ただし、手動で行う場合は、URLエンコードのルールに従ってください。
3. URLエンコードはセキュリティに影響しますか?
はい、適切なURLエンコードは、XSS(クロスサイトスクリプティング)やSQLインジェクションなどの攻撃を防ぐために重要です。エンコードされていない入力は、悪意のあるコードが注入される可能性があります。
4. URLエンコードされた値をデコードするにはどうすればよいですか?
JavaScriptではdecodeURIComponentやdecodeURI関数を使用し、オンラインツールを使用することもできます。デコードは、エンコードされた値が正しく解析されるために必要です。
5. URLエンコードはすべてのブラウザで同じように動作しますか?
はい、すべての現代のブラウザはencodeURIComponentとencodeURI関数をサポートしています。ただし、一部の古いブラウザでは、URLエンコードが正しく実行されない可能性があります。この場合は、JavaScriptの代替手段またはサーバー側のエンコードを使用してください。