URL エンコーダー・デコーダー

URLに含まれる日本語や特殊文字をパーセントエンコーディング(%エンコード)で相互変換します。APIリクエストやリダイレクトURLの作成時に役立ちます。

URLが正しくありません

URLエンコード・デコードとは

URLエンコード(パーセントエンコーディング)とは、URLに含められない日本語や記号を「%XX」形式のASCII文字列に変換する仕組みです。URLは元々ASCII文字のみを想定して設計されているため、日本語のようなマルチバイト文字や「?」「&」などの予約文字をパラメーター値として渡す際には、この変換が必須になります。

本ツールは入力したURLや文字列をワンクリックでエンコード・デコードでき、変換結果をそのままコピーして使えます。APIリクエストの組み立て、リダイレクトURLの生成、他システムから受け取ったエンコード済みURLの中身の確認など、開発作業のさまざまな場面で活用できます。

使い方

  1. 変換したい文字列を入力する 日本語を含むテキストや、すでにエンコードされたURLを入力欄に貼り付けます。
  2. エンコードかデコードを選ぶ 通常の文字列を%表記に変換するならエンコード、%表記を元に戻すならデコードを選びます。
  3. 変換結果を確認する 変換後の文字列が即座に表示されます。
  4. 結果をコピーして利用する APIリクエストのクエリパラメーターやリダイレクトURLにそのまま貼り付けて使えます。

使いこなすためのヒント

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

活用シーン

REST APIのクエリパラメーター作成

日本語のキーワードや自由入力値をAPIのクエリ文字列に安全に含めたいときに使います。

リダイレクトURLの組み立て

遷移先を示すURLをパラメーターとして別のURLに埋め込む際、エンコードして区切り文字との衝突を防ぎます。

他システムから受け取ったURLの中身確認

ログや外部サービスから渡された%表記だらけのURLをデコードし、実際のパラメーター値を読み取れます。

メール本文・SNS共有用リンクの作成

件名や本文を含むmailtoリンク、SNSシェア用URLに日本語テキストを安全に組み込めます。

用語集

パーセントエンコーディング
文字をUTF-8のバイト列に変換し、各バイトを「%」+16進数2桁で表す方式。URLで使えない文字を安全に表現します。
予約文字
「?」「&」「=」「#」「+」などURLの構造を区切るために使われる記号。パラメーター値に含める場合はエンコードが必要です。
非予約文字
英数字と「-」「_」「.」「~」の4記号。RFC 3986でエンコード不要と定められています。
RFC 3986
URIの構文を定めたインターネット標準仕様。パーセントエンコーディングの規則もここで定義されています。
application/x-www-form-urlencoded
HTMLフォーム送信で使われるエンコード形式。スペースを%20ではなく+に変換する点がURI標準と異なります。

よくある質問

エンコードは日本語や特殊文字を %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形式で使われるものであり、用途によって区別が必要です。