URLエンコード・デコード

URLエンコードは、URLに含まれる日本語やスペース・記号を「%E3%…」の形に変換(エンコード)したり、元に戻したり(デコード)する無料ツールです。UTMパラメータ付きURLの確認や、貼り付けた長いURLの復号に使えます。

🔒 入力はブラウザ内だけで処理され、送信されません

こんな場面で

%E3%81%82 は何を表しているのか

URLにそのまま書けるのは、英数字と一部の記号だけです。それ以外の文字は、いったんUTF-8のバイト列に直し、1バイトを「%」+16進2桁で表します。ひらがなの「あ」はUTF-8で E3 81 82 の3バイトなので、%E3%81%82 という3つの組になります。

ひらがな・カタカナ・ふだん使う漢字はどれも3バイトなので、日本語1文字につき「%XX」が3つ並ぶのが目安です。「検索」なら %E6%A4%9C%E7%B4%A2 と6つ。日本語を含むURLが極端に長くなるのはこのためです。ただし絵文字や一部の拡張漢字は4バイトなので、1文字で4つになります(🍣 は %F0%9F%8D%A3)。

逆に、英数字と - _ . ~ は変換されずそのまま残ります。これはURLの仕様(RFC 3986)が「予約されない文字」として定めている範囲です。

2種類のエンコードの違い

初期表示のURLで比べてみてください。「URL構造は保持」を押すと、パスの「検索」が %E6%A4%9C%E7%B4%A2 に、値の「無料」が %E7%84%A1%E6%96%99 に変わる一方、https://? & = は形を保ちます。「文字列全体」を押すと、その区切り記号まで %3A%2F%2F のように変換され、URLとしては機能しない文字列になります。URL全体を扱うなら前者、クエリの値ひとつだけを作るなら後者と覚えてください。

つまずきやすい点

よくある質問

日本語のままURLに貼っても動くのに、なぜエンコードが要るのですか?

最近のブラウザはアドレス欄で日本語を見やすく表示し、送信時に自動でエンコードしてくれるためです。しかし、メールやチャット、外部システムの設定欄に貼るときは自動変換が働かず、リンクが途中で切れることがあります。人の目に触れない場所へ渡すURLは、エンコードしておくほうが確実です。

スペースが %20 になるときと + になるときがあるのはなぜですか?

仕様が2つあるためです。URL全般の仕様ではスペースは %20 ですが、フォーム送信の形式では + を使います。このツールのエンコードは %20 を出力し、デコードは +%20 のどちらもスペースとして受け取ります。

URLを貼り付けても外部に送信されませんか?

されません。変換はすべてお使いのブラウザの中で行われます。社内システムのURLやトークンを含む文字列を貼っても、どこかに送られることはありません。

関連ツール

クエリに載せる文字数を数えるなら 文字数カウント、%の後ろの16進を10進で確かめるなら 進数変換 へ。