メインコンテンツへ
短.be

URL エンコード / デコードツール

URL やテキストを入力すると、パーセントエンコーディングへの変換 (エンコード) と元の文字列への復元 (デコード) をその場で行えます。

入力はブラウザ内で処理され、サーバーへ送信されません。

変換の種類

encodeURIComponent と同じ変換です。/ ? & = # などの記号もすべて変換するため、クエリパラメータの値のように URL の一部分へ埋め込む文字列に使います。

このツールでできること

URL に日本語や空白などの文字をそのまま含めることはできないため、%E3%81%82 のようなパーセントエンコーディング (URL エンコード) へ変換する必要があります。このツールは、入力した文字列のエンコードとデコードをブラウザ内でその場で行います。

エンコードには 2 つのモードがあります。「部分文字列」は / ? & = # などの記号もすべて変換するもので、検索キーワードなどをクエリパラメータの値として埋め込むときに使います。「URL 全体」は URL の構造を作る記号を残したまま変換するもので、日本語を含む URL 全体を共有できる形に整えるときに使います。

デコードは、パーセント表記を含む URL を人が読める形に戻します。メールやログに現れた長いエンコード済み URL の中身を確認したいときに便利です。

使い方

  1. 変換の種類を選ぶ

    まず変換の種類を選びます。文字列を URL の一部分に埋め込むなら「エンコード (部分文字列)」、URL 全体の形を保ったまま整えるなら「エンコード (URL 全体)」、パーセント表記を元の文字に戻すなら「デコード」を選びます。

  2. 変換したい文字列を入力する

    入力欄に URL やテキストを貼り付けます。日本語や空白を含む文字列でも、選んだモードに合わせてその場で変換されます。

  3. 変換結果を確認してコピーする

    入力に合わせて結果欄が自動で更新されます。コピーボタンで結果を取得し、そのままリンクやクエリパラメータの値として貼り付けられます。

  4. 必要ならモードを切り替えて見比べる

    結果が意図と違うときは変換の種類を切り替えます。記号まで変換されているか、URL の構造が保たれているかを見比べて、用途に合うモードを選び直せます。

パーセントエンコーディングの仕組み

パーセントエンコーディングとは

URL にそのまま使える文字は英数字と一部の記号に限られます。日本語や空白など置けない文字は、その文字のバイト列を % に続く 2 桁の 16 進数で表す「パーセントエンコーディング」に置き換えられます。

たとえば「あ」は UTF-8 で 3 バイトになり、%E3%81%82 と表記されます。デコードはこの逆で、パーセント表記を読み取って元の文字へ戻す処理です。

「部分文字列」と「URL 全体」の違い

「部分文字列」は encodeURIComponent と同じで、/ ? & = # など URL の区切りに使う記号もすべて変換します。値の中にこれらの記号が含まれても、区切りと誤解されず 1 つの値として扱われます。

「URL 全体」は encodeURI と同じで、スラッシュや疑問符、コロンといった区切り記号はそのまま残し、日本語 / 空白 / 一部の記号を変換します。https:// から始まる URL の形を壊さずに、共有できる形へ整えたいときに向いています。ただし、すでにエンコード済みの URL をもう一度変換すると、%20 が %2520 のように二重に変換されてしまうため、まだ変換していない URL に使ってください。

エンコードとデコードは往復できる

エンコードした文字列は、同じ規則でデコードすれば元の文字列へ完全に戻せます。変換そのもので情報が失われることはありません。

ただしデコードは % の後ろに 2 桁の 16 進数が続いていることが前提です。途中で切れた URL や、% がそのまま含まれる文字列は不正な表記となり、復元できずエラーになります。

よくある質問

「部分文字列」と「URL 全体」はどう使い分けますか?

変換したい文字列を URL のどこに置くかで選びます。クエリパラメータの値など URL の一部分に埋め込むなら「部分文字列」、https:// から始まる URL 全体をまとめて整えるなら「URL 全体」を使います。

デコードでエラーになるのはなぜですか?

% の後ろに 2 桁の 16 進数が続いていない文字列はパーセント表記として不正なため、復元できません。途中で切れた URL や、% がエンコードされないまま含まれる文字列でよく起こります。

入力した内容はサーバーへ送信されますか?

送信されません。変換はすべてお使いのブラウザ内で完結し、入力内容がこのサイトのサーバーへ送られることはありません。

エンコード済みの URL を二重に変換してしまいました。元に戻せますか?

デコードを 2 回行えば戻せる場合があります。二重エンコードでは % 自体が %25 に変換されているため、まず 1 回デコードして %25 を % に戻し、もう 1 回デコードすると元の文字列になります。

URL 全体に「部分文字列」モードを使うとリンクが開けなくなります。なぜですか?

URL 全体に「部分文字列」を使うと、https:// の :// までも変換されてリンクの構造が壊れます。URL 全体を整えるときは「URL 全体」を選び、「部分文字列」はクエリパラメータの値など一部分にだけ使ってください。

関連する用語

このツールは役に立ちましたか?