Nouplo

URLエンコードとデコード

入力しながら、その場で両方向に変換します。

例を読み込むと入力と設定が一時的に変わります。元の内容に戻せます。

0文字
出力
上に貼り付けるか入力すると、ここに結果が表示されます。

ファイルは端末の外に出ません

このツールはすべてブラウザ内で動作します。貼り付けた内容は端末内で処理され、サーバーには送信されないため、トークンや鍵、未公開の文章でも安心して使えます。

使用例

例:「抹茶 ラテ&ほうじ茶」で検索するリンクを作る(値だけをエンコードする)

お店のブログから、サイト内検索の結果ページへリンクを張ります。URLは https://example.com/search?q= の後ろに検索語を付ける形で、検索語は「抹茶 ラテ&ほうじ茶」。空白と & が入っているのがポイントです。

  1. 方向は「エンコード」、「URL全体として扱う」はチェックなしで、検索語だけを貼り付けます。10文字が78文字になります。
  2. 空白は %20、& は %26 に変わりました。これを ?q= の後ろにつなげればリンクの完成です。
  3. 失敗例:URL全体を貼って「URL全体として扱う」にチェックすると、& がそのまま残ります。サーバーは & でパラメータを区切るので、検索語は「抹茶 ラテ」で切れ、「ほうじ茶」は別のパラメータとして扱われます。
  4. 届いたリンクを読むときは「デコード」。チェックなしなら「抹茶 ラテ&ほうじ茶」まで戻り、チェックありでは %26 が残って「抹茶 ラテ%26ほうじ茶」と表示されます。
入力 設定 結果
抹茶 ラテ&ほうじ茶 エンコード・チェックなし%E6%8A%B9%E8%8C%B6%20%E3%83%A9%E3%83%86%26%E3%81%BB%E3%81%86%E3%81%98%E8%8C%B6
https://example.com/search?q=抹茶 ラテ&ほうじ茶 エンコード・チェックありhttps://example.com/search?q=%E6%8A%B9%E8%8C%B6%20%E3%83%A9%E3%83%86&%E3%81%BB%E3%81%86%E3%81%98%E8%8C%B6(& が残る)
秋の新作 エンコード・チェックなし%E7%A7%8B%E3%81%AE%E6%96%B0%E4%BD%9C

正しいリンクは https://example.com/search?q=%E6%8A%B9%E8%8C%B6%20%E3%83%A9%E3%83%86%26%E3%81%BB%E3%81%86%E3%81%98%E8%8C%B6 です。検索語が最後まで1つの値として届き、検索結果に「抹茶 ラテ&ほうじ茶」と表示されます。

使い方

  1. 文字列またはURLを貼り付けます。結果はその場で表示されます。
  2. エンコードかデコードかを選びます。
  3. URL全体を変換するときは「URL全体として扱う」にチェックを入れます。クエリの値ひとつを変換するときは、チェックを外したままにしてください(この違いが重要です)。
  4. 結果をコピーします。

よくある質問

2つのモードは何が違うのですか?
URL全体として扱う場合は、URLの構造を作る文字(: / ? # & =)をそのまま残します。https://example.com/a b は https://example.com/a%20b になります。一方、?q= のあとに入れる「値」を変換する場合は、その値に含まれる & や = も必ずエンコードしなければなりません。そうしないとパラメータがそこで終わってしまい、リンクが静かに壊れます。値ひとつを変換するときはチェックを外す、と覚えてください。
デコードでエラーになりました。
文字列の中の % が、16進数2桁で続いていないためです。「50% OFF」のような文章はエンコードされた文字列ではないので、デコードという操作自体が成り立ちません。必要なら先にエンコードしてください。
日本語や記号も扱えますか?
はい。UTF-8のバイト列としてエンコードします(「日本語」は %E6%97%A5%E6%9C%AC%E8%AA%9E)。デコードでも元に戻ります。
%E3%81%82 のような記号だらけのURLを日本語に戻すには?
方向を「デコード」にして貼り付けます。日本語はUTF-8で1文字3バイト、つまり %XX が3つで1文字なので、「秋の新作」は %E7%A7%8B%E3%81%AE%E6%96%B0%E4%BD%9C の36文字になっています。Shift_JISなどUTF-8以外でエンコードされたURLはエラーになり、日本語には戻せません。
%2520 のように % が増えてしまいました。
すでにエンコードされた文字列を、もう一度エンコードしたためです。% 自体が %25 になるので、%20 は %2520 になります。エンコードは1回だけにしてください。二重になったものは、デコードを2回かけると元に戻ります。
空白が + にならないのはなぜですか?
+ を使うのはHTMLフォーム送信の古い書き方で、URLの書式そのものとは別のものです。クエリではどちらもサーバーに通りますが、ここでは %20 を使います。パスの中でも正しく扱われるのはこちらです。
URLはどこかに送られますか?
いいえ。このページの中で変換しています。URLにはセッショントークンや署名付きURL、社内のホスト名が入っていることがあります。

関連ツール