URL エンコーダー・デコーダー
URLに含まれる日本語や特殊文字をパーセントエンコーディング(%エンコード)で相互変換します。APIリクエストやリダイレクトURLの作成時に役立ちます。
URLが正しくありません
Tips
- 日本語「あ」は UTF-8 でエンコードされると
%E3%81%82になります。 - スペースは URL パスでは
%20、クエリパラメーターでは+に変換されることがあります(RFC 3986 vs HTML フォーム仕様の違い)。 ?・&・=などの予約文字をパラメーター値に含める場合はエンコードが必要です。- REST API のクエリパラメーターに日本語を含める際やリダイレクト URL を安全に渡す際に活用できます。
よくある質問
エンコードは日本語や特殊文字を
%XX 形式のASCII文字列に変換する処理、デコードはその逆変換です。URLをブラウザのアドレスバーに貼り付けると自動デコードされて表示されます。URLパス部分では
%20、HTMLフォームのクエリパラメーター(application/x-www-form-urlencoded)では + が使われます。API仕様が明示していない場合は %20 が安全です。?・&・=・#・+ などのURLの区切り文字として使われる予約文字は、パラメーター値の中に含める場合にエンコードが必要です。アルファベット・数字・-・_・.・~ はエンコード不要です(RFC 3986 非予約文字)。
余談ですが ― 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形式で使われるものであり、用途によって区別が必要です。