URL Encoder and Decoder

テキストをURL形式に変換し、URL文字列をデコードします

これらの例を試してください:

About URL Encoding

URLエンコードはパーセントエンコーディングとも呼ばれ、Uniform Resource Identifier(URI)内の情報をエンコードする仕組みです。URLで許可されていない文字をインターネット上で送信可能な形式に変換します。このエンコードは、安全でないASCII文字を "%" と2桁の16進数で置き換えます。

URLエンコードの一般的な用途

  • URLのクエリ文字列のフォーマット
  • HTTPリクエストでのフォームデータ送信(application/x-www-form-urlencoded)
  • 特殊文字やスペースを含む有効なURLの作成
  • URL内の非ASCII文字のエンコード
  • APIやウェブサービスで複雑なパラメータを渡す

URLエンコードの仕組み

URLエンコードは以下の原則に従います:

  • 英数字(A-Z、a-z、0-9)は変更されません
  • スペース、?, &, =, %, + などの特殊文字はパーセントエンコードされた対応文字に変換されます
  • UTF-8でエンコードされた文字の各バイトは個別にパーセントエンコードされます
  • スペース文字は "%20" または "+"(クエリパラメータ内)としてエンコードできます
  • /、:、?、#、[ などの予約文字はURL内で特別な意味を持ち、文脈に応じて異なる扱いを受けることがあります

encodeURI と encodeURIComponent の違い

JavaScriptはURLエンコードのために2つの関数を提供しています:

  • encodeURI: URI全体をエンコードし、URI構文の一部である文字(/:?#[]@!$&'()*+,;=)は保持します
  • encodeURIComponent: URIコンポーネント(クエリパラメータの値など)をエンコードし、URI内で特別な意味を持つ文字も含めてより多くの文字をエンコードします

ユーザー入力やクエリパラメータをエンコードするほとんどの場合、 encodeURIComponent() は、潜在的に問題となるすべての文字を適切にエンコードするため、安全な選択肢です。

国際文字のためのURLエンコード

最新のブラウザは非ASCII文字をUTF-8でエンコードし、その後各バイトをパーセントエンコードします。これにより、国際文字、絵文字、その他のUnicode記号をURLに正しく含めることができます。例えば、日本語の文字「日」は最初に3バイト(E6 97 A5)でUTF-8エンコードされ、その後 "%E6%97%A5" とパーセントエンコードされます。

Examples

プレーンテキストURLエンコード済み
Hello WorldHello%20World
https://example.com/?q=search termhttps%3A%2F%2Fexample.com%2F%3Fq%3Dsearch%20term
50% off sale!50%25%20off%20sale%21
Smith & Jones LLCSmith%20%26%20Jones%20LLC