ホーム URL エンコーダー

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–Za–z0–9- _ . ~ 以外のすべての予約文字をエンコードします。encodeURI() は URL 全体用で、構造区切り文字 : / ? # [ ] @ ! $ & ' ( ) * + , ; = をそのまま残し、URL が機能し続けるようにします。

経験則として、クエリ文字列、パスセグメント、フォームフィールドに配置する各値には encodeURIComponent() を使用してください。完全な、すでに構造化された URL をエンコードし、その構文を維持したい場合のみ encodeURI() を使用します。本ツールは encodeURIComponent() を使用します。最も一般的な実務タスクは完全な URL ではなく単一の値のエンコードだからです。

一般的な URL エンコード文字

最も一般的なエンコード形式に慣れておくと、不正な URL のデバッグが速くなります。下表は実務で最も頻繁にエンコードされる文字を示しています。

文字エンコード理由
スペース%20URL 内にスペースは許可されない
&%26クエリパラメータの区切り
=%3Dキーと値の区切り
?%3Fクエリ文字列の開始を示す
#%23フラグメントの開始を示す
/%2Fパス区切り文字
+%2Bフォームデータでスペースとして復号される
%%25エスケープ文字そのもの

application/x-www-form-urlencoded ペイロード(HTML フォーム送信)では、スペースは %20 ではなく + としてエンコードされることに注意してください。両方の形式が URL で有効ですが、%20 が標準的なパーセントエンコードです。

URL のエンコード方法

本ツールでのテキストエンコードは 1 秒で完了し、すべてブラウザ内で行われます。アップロード不要、登録不要、インストール不要。ツールは JavaScript ネイティブの encodeURIComponent() 関数を使用します。以下の手順で行います:

  1. テキストを貼り付け。 入力ボックスに任意の文字列——ASCII、Unicode、記号、複数行テキスト——を入力または貼り付けます。
  2. 「エンコード」をクリック。 ツールが入力に対して encodeURIComponent() を実行し、パーセントエンコード結果をリアルタイムで出力ボックスに書き込みます。
  3. 結果をコピー。 「クリップボードにコピー」をクリックしてエンコードされた文字列をコピーし、URL、API リクエスト、コードに貼り付けます。
  4. 必要に応じて復号。 逆の操作には、付随の URL デコーダーツールを使用してください。

すべてのステップは JavaScript でブラウザ内でローカルに実行されるため、テキストがサーバーにアップロードされることはありません。これによりエンコードは完全にプライベートで高速、トークン、キー、個人データなどの機密コンテンツに適しています。

この URL エンコーダーは無料ですか?

はい、完全に無料で、登録不要、透かしなし、制限なしです。

どの文字をエンコードしますか?

encodeURIComponent() を使用して A–Z a–z 0–9 - _ . ~ 以外のすべてをエンコードします。

Unicode に対応していますか?

はい。非 ASCII 文字は UTF-8 バイトシーケンスとしてエンコードされ、各バイトの前に % が付きます。

%20 と + の違いは?

どちらもスペースを表します。%20 は標準的なパーセントエンコード、+ はフォーム送信(application/x-www-form-urlencoded)で使用されます。

入力はアップロードされますか?

いいえ。すべての処理はローカルで行われ、テキストがブラウザから離れることはありません。