メインコンテンツへスキップ
FreeOnlineTools Go
日本語
方法

URL をエンコードおよびデコードする方法: 完全ガイド

FreeOnlineTools Team 著 · 2026-08-28を更新しました

簡単な回答

URL エンコードは、安全でない文字を %XX シーケンスに変換します。ここで、XX はバイトの 16 進値です。スペースは %20 (フォーム データでは +) になり、漢字はマルチバイトの %XX シーケンスになります。無料の URL エンコーダーと URL デコーダーを使用してください。すべての処理はブラウザー内でローカルに行われます。

導入

URL エンコード (パーセント エンコードとも呼ばれる) は、URL 内の予約文字と安全でない文字をエンコードして、URL をインターネット上で安全に送信できるようにするメカニズムです。 URLs には、限られた ASCII 文字セットのみを含めることができます。その他の文字 (スペース、非 ASCII 文字、記号) は、% で始まり、その後にバイト値を表す 2 つの 16 進数が続くシーケンスとしてパーセント エンコードする必要があります。

ステップバイステップ

  1. エンコードが必要なものを特定する

    予約されていないセットにない文字 (A ~ Z、a ~ z、0 ~ 9、-、.、_、~) はパーセント エンコードする必要があります。これには、スペース、= や & などのクエリ区切り文字、スラッシュ、中国語、アラビア語、絵文字などのすべての非 ASCII 文字が含まれます。

  2. URL またはクエリ文字列をエンコードします

    テキストを URL エンコーダー ツールに貼り付けます。 encodeURIComponent() を使用して、すべての予約文字をエンコードします。結果は出力フィールドに即座に表示されます。

  3. エンコード結果をコピーする

    「コピー」ボタンをクリックして、パーセントエンコードされた文字列をコピーします。これを URL クエリ パラメーター、API リクエスト、またはフォーム送信に安全に埋め込むことができるようになりました。

  4. エンコードされた URL をデコードする

    エンコードされた URL またはクエリ文字列を URL デコーダー ツールに貼り付けます。 decodeURIComponent() を使用して元の文字を復元します。デコードされた出力が期待どおりであることを確認します。

  5. エッジケースを検証する

    スペースが正しくデコードされていること (%20 と +)、マルチバイト UTF-8 シーケンスが正しい文字にデコードされていること、およびすでにエンコードされた文字列が二重エンコードされていないことを確認してください。

例

テキストをスペースでエンコードする

入力: Hello World

出力: Hello%20World

パス区切り文字をエンコードする

入力: a/b

出力: a%2Fb

漢字のエンコード(UTF-8)

入力: 你好

出力: %E4%BD%A0%E5%A5%BD

エンコードされたクエリパラメータをデコードする

入力: key%3Dvalue%26foo%3Dbar

出力: key=value&foo=bar

よくある問題

  • 二重エンコーディング: すでにエンコードされた文字列をエンコードすると、%20 が %2520 に変わります。再エンコードする前に、入力がすでにエンコードされているかどうかを必ず確認してください。
  • encodeURI と encodeURIComponent の混同: encodeURI は、完全な URLs に対して /、?、& などの予約文字をそのまま保持しますが、encodeURIComponent はクエリ パラメーター値のすべてをエンコードします。
  • スペースの処理: %20 はパーセントでエンコードされた形式です。 + は application/x-www-form-urlencoded 本文データでのみ有効であり、RFC 3986 に基づく URL パスやクエリ文字列では有効ではありません。
  • 非 UTF-8 レガシー エンコーディング: 最新のブラウザは UTF-8 としてエンコードしますが、レガシー システムは GBK または Latin-1 を使用する可能性があり、反対側でデコードすると文字化けが発生します。

ヒント

  • 個々のクエリ パラメーター値には encodeURIComponent() を使用し、すでに整形式になっている URLs 全体には encodeURI() を使用します。
  • クエリ文字列を作成するときは、値をエンコードしますが、= または & 区切り文字はエンコードしません。各値を個別にエンコードしてから、& で結合します。
  • URL エンコーダ ツールとデコーダ ツールを使用して、不正な形式のクエリ文字列が原因で 400 エラーを返す API 呼び出しをデバッグします。
  • 文字化けを避けるために、サーバー側では常に同じ文字エンコーディング (UTF-8) を使用してデコードしてください。

関連ツール

関連ガイド

参考文献