URL エンコーダー
パーセントエンコードで任意のテキストを安全な URL 文字列に変換——100% ブラウザ内で完結、アップロード不要。
入力
出力
URL エンコードとは?
URL エンコード(パーセントエンコードとも呼ばれる)は、URL で許可されていない、または安全でない文字を表現する標準化された方法です。URL には限られた ASCII 文字——アルファベット、数字、および少数の予約記号(-、_、.、~ など)——しか含めることができず、その他の文字はすべてパーセント記号とそのバイト値を表す 2 桁の 16 進数でエンコードする必要があります。例えば、スペースは %20、& は %26、日本語の「あ」は UTF-8 で %E3%81%82 になります。
URL エンコードは 1994 年の RFC 1738 で最初に定式化され、現在は RFC 3986 で規格化されています。これにより、ブラウザ、Web サーバー、HTTP クライアントは Unicode 文字、スペース、句読点、予約記号を含むデータを曖昧さなく交換できます。すべての現代的なプログラミング言語に URL エンコーダが組み込まれており、本ツールが使用する JavaScript 関数は encodeURIComponent() です。
URL エンコードが必要な場面
テキストデータを URL に配置する際——最も一般的にはクエリ文字列、パスセグメント、フラグメント識別子、フォームペイロード、HTTP ヘッダー——に URL エンコードが必要です。一般的なシナリオ:
- クエリパラメータ。 URL に
?name=John Doe&city=New Yorkを付加する場合、スペースと特殊文字を?name=John%20Doe&city=New%20Yorkにパーセントエンコードする必要があります。 - API リクエスト。 REST や GraphQL API は URL 内のエンコードされた値を期待します。エンコードされていない
/はパス区切りとして誤解される可能性があります。 - メール・メッセージリンク。 Mailto リンク、共有 URL、ディープリンクは件名、本文、パラメータ値をエンコードする必要があります。
- 非 ASCII テキスト。 中国語、日本語、韓国語、アラビア語、絵文字は UTF-8 でパーセントエンコードして安全に URL に含める必要があります。
- OAuth・SSO コールバック。 状態トークン、リダイレクト URI、コードチャレンジはエンコードされたクエリパラメータとして送信されます。
- アナリティクス追跡。 スペース、&、アクセント付き文字を含む UTM パラメータは転送に耐えるようエンコードする必要があります。
値のエンコードを忘れると、URL が壊れたり、データの一部が間違ったパラメータに漏洩したり、厳格なサーバーから 400 Bad Request レスポンスが返される可能性があります。
encodeURIComponent と encodeURI の違い
JavaScript には 2 つの関連するエンコード関数があり、間違った選択はバグの一般的な原因です。encodeURIComponent() は個々のパラメータ値用で、A–Z、a–z、0–9、- _ . ~ 以外のすべての予約文字をエンコードします。encodeURI() は URL 全体用で、構造区切り文字 : / ? # [ ] @ ! $ & ' ( ) * + , ; = をそのまま残し、URL が機能し続けるようにします。
経験則として、クエリ文字列、パスセグメント、フォームフィールドに配置する各値には encodeURIComponent() を使用してください。完全な、すでに構造化された URL をエンコードし、その構文を維持したい場合のみ encodeURI() を使用します。本ツールは encodeURIComponent() を使用します。最も一般的な実務タスクは完全な URL ではなく単一の値のエンコードだからです。
一般的な URL エンコード文字
最も一般的なエンコード形式に慣れておくと、不正な URL のデバッグが速くなります。下表は実務で最も頻繁にエンコードされる文字を示しています。
| 文字 | エンコード | 理由 |
|---|---|---|
| スペース | %20 | URL 内にスペースは許可されない |
| & | %26 | クエリパラメータの区切り |
| = | %3D | キーと値の区切り |
| ? | %3F | クエリ文字列の開始を示す |
| # | %23 | フラグメントの開始を示す |
| / | %2F | パス区切り文字 |
| + | %2B | フォームデータでスペースとして復号される |
| % | %25 | エスケープ文字そのもの |
application/x-www-form-urlencoded ペイロード(HTML フォーム送信)では、スペースは %20 ではなく + としてエンコードされることに注意してください。両方の形式が URL で有効ですが、%20 が標準的なパーセントエンコードです。
URL のエンコード方法
本ツールでのテキストエンコードは 1 秒で完了し、すべてブラウザ内で行われます。アップロード不要、登録不要、インストール不要。ツールは JavaScript ネイティブの encodeURIComponent() 関数を使用します。以下の手順で行います:
- テキストを貼り付け。 入力ボックスに任意の文字列——ASCII、Unicode、記号、複数行テキスト——を入力または貼り付けます。
- 「エンコード」をクリック。 ツールが入力に対して
encodeURIComponent()を実行し、パーセントエンコード結果をリアルタイムで出力ボックスに書き込みます。 - 結果をコピー。 「クリップボードにコピー」をクリックしてエンコードされた文字列をコピーし、URL、API リクエスト、コードに貼り付けます。
- 必要に応じて復号。 逆の操作には、付随の URL デコーダーツールを使用してください。
すべてのステップは JavaScript でブラウザ内でローカルに実行されるため、テキストがサーバーにアップロードされることはありません。これによりエンコードは完全にプライベートで高速、トークン、キー、個人データなどの機密コンテンツに適しています。
この URL エンコーダーは無料ですか?
はい、完全に無料で、登録不要、透かしなし、制限なしです。
どの文字をエンコードしますか?
encodeURIComponent() を使用して A–Z a–z 0–9 - _ . ~ 以外のすべてをエンコードします。
Unicode に対応していますか?
はい。非 ASCII 文字は UTF-8 バイトシーケンスとしてエンコードされ、各バイトの前に % が付きます。
%20 と + の違いは?
どちらもスペースを表します。%20 は標準的なパーセントエンコード、+ はフォーム送信(application/x-www-form-urlencoded)で使用されます。
入力はアップロードされますか?
いいえ。すべての処理はローカルで行われ、テキストがブラウザから離れることはありません。