Network

URL Encoder/Decoder

Encode and decord URL


Invalid URL


Tips

  • 日本語「あ」は UTF-8 でエンコードされると %E3%81%82 になります。
  • スペースは URL パスでは %20、クエリパラメーターでは + に変換されることがあります(RFC 3986 vs HTML フォーム仕様の違い)。
  • ?&= などの予約文字をパラメーター値に含める場合はエンコードが必要です。
  • REST API のクエリパラメーターに日本語を含める際やリダイレクト URL を安全に渡す際に活用できます。

余談ですが ― URLの誕生 ― Tim Berners-LeeとWorldWideWebの夜明け

URLは1991年にTim Berners-Lee(World Wide Web の発明者)が設計しました。当初はASCII文字のみを想定していたため、日本語などのマルチバイト文字や特殊文字はパーセントエンコーディングで表現する必要があります。

インターネット最初のWebページのURL「http://info.cern.ch/hypertext/WWW/TheProject.html」は 今もアクセス可能 です。また「絵文字ドメイン」(例: 🍕.ws)は技術的に存在可能で、内部的にはPunycode(xn-- から始まる形式)に変換されています。世界最長のURLは理論的には2,000文字以上も可能ですが、実用上はブラウザやサーバーの制限(2,048文字程度)があります。

RFC 3986でURLの仕様が定義されていますが、「%20(スペース)」と「+(スペース)」の使い分けは今もよく混乱の元になります。%20はURI標準、+はHTMLフォームのapplication/x-www-form-urlencoded形式で使われるものであり、用途によって区別が必要です。