URL エンコーダー / デコーダー
特殊文字を URL で安全に使える形式にエンコード、またはパーセントエンコードされた文字列をプレーンテキストにデコードします。
モード:
URL エンコードとは?
URL エンコード(正式にはパーセントエンコード)は、統一資源識別子(URI)の中で情報をエンコードするための仕組みです。一部の文字は URL 内で特別な意味を持ちます。たとえば ? はクエリ文字列の開始を表し、& はパラメータを区切り、= は値を割り当てます。データにこれらの文字が含まれている場合、URL が誤って解釈されないようエンコードする必要があります。
エンコードでは、安全でない各文字を % と 2 桁の 16 進数に置き換えます。スペースは %20 に、& は %26 になり、你好 のような漢字は(その UTF-8 バイトをパーセントエンコードして)%E4%BD%A0%E5%A5%BD になります。
Component モードと Full URL モード
このツールには、JavaScript の 2 つの組み込み関数に対応する 2 つのエンコードモードがあります:
- Encode Component(
encodeURIComponent)——A–Z a–z 0–9 - _ . ! ~ * ' ( )以外のすべての文字をエンコードします。クエリ文字列やパスセグメントに入れる個々の値に使います。たとえば、検索語を?q=の後ろに付ける前にエンコードします。 - Encode Full URL(
encodeURI)—— URL の構造を成す文字(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)はそのまま保持します。構造が正しい完全な URL があり、非 ASCII 文字だけをエンコードしたいときに使います。
このツールの使い方
- エンコード:左のボックスにプレーンテキストを入力または貼り付け、モードを選んでから エンコード → をクリックします。
- デコード:右のボックスにパーセントエンコード文字列を貼り付け、← デコード をクリックします。無効なシーケンス(単独の
%や不正な形式の%XYなど)はエラーが表示されます。 - 入れ替え で両方のボックスを入れ替え、コピー でいずれかの内容をクリップボードにコピーできます。
よくある質問
- URL エンコードとは?
- URL エンコード(パーセントエンコードとも呼ばれます)は、URL で使えない文字を安全な形式に変換します。安全でない各文字は、その文字の UTF-8 バイト値を表す 2 桁の 16 進数を付けたパーセント記号(%)に置き換えられます。たとえばスペースは %20 に、アンパサンドは %26 になります。
- 「Encode Component」と「Encode Full URL」の違いは?
- Encode Component(encodeURIComponent)は :、/、?、#、&、= を含むすべての特殊文字をエンコードします。URL のクエリ文字列やパスセグメント内に置く値をエンコードするときに使います。Encode Full URL(encodeURI)は URL で構造的な意味を持つ文字(:、/、?、#、&、@、=)を保持し、本当に無効な文字だけをエンコードします。完全な URL をエンコードするときに使います。
- いつ URL エンコードを使うべきですか?
- ユーザーが入力したデータを URL に含めるときは必ず URL エンコードを使います。たとえば検索クエリパラメータ、パス内のファイル名、GET で送信されるフォーム値などです。エンコードしないと、スペース、&、=、# などの特殊文字が URL の構造を壊したり、サーバーに誤解釈されたりすることがあります。
- どの文字がエンコードされますか?
- Component モードでは、英字(A–Z、a–z)、数字(0–9)、および文字 - _ . ! ~ * ' ( ) を除くすべてがエンコードされます。Full URL モードでは、さらに保持される文字に : / ? # [ ] @ ! $ & ' ( ) * + , ; = が含まれます。
- データは安全ですか?
- はい。このツールはブラウザ内蔵の encodeURIComponent() と decodeURIComponent() という JavaScript API を使い、完全にブラウザ内で動作します。データがサーバーに送信されることはありません。