検索結果のURLに並ぶ %E6%83%85%E5%A0%B1 のような文字列。あれは日本語をURLで運べる形に変換したものです。読めないだけで、元に戻せます。
このツールは、日本語を含む文字列とURLエンコード形式を相互に変換します。「値だけを変換」と「URL全体を変換」を切り替えられるので、パラメータの値だけ変えたいのにURL全体が壊れる、といった失敗を防げます。あわせて、URLをスキーム・ホスト・パス・クエリパラメータに分解して一覧表示します。
処理はブラウザの中だけで行われ、入力した内容は送信されません。アクセス解析のパラメータ付きURLや、社内システムのURLでも安心して貼り付けられます。
URLエンコード・デコード
日本語対応。パラメータの分解表示つき。データは送信されません。
PARSE / URLの分解
encodeURIとencodeURIComponentの、決定的な違い
変換の方式は2つあり、使い分けを間違えるとURLが壊れます。違いは「記号を変換するかどうか」の一点です。
| 値だけ(encodeURIComponent) | URL全体(encodeURI) | |
|---|---|---|
| 用途 | パラメータの値を変換する | URL全体を変換する |
| / : ? = & などの記号 | 変換する | 変換しない(構造として残す) |
| 日本語 | 変換する | 変換する |
| 使いどころ | 検索語、フォームの入力値、リダイレクト先URLをパラメータに入れるとき | すでに組み立て終わったURLに日本語が混ざっている場合 |
最も多い事故がこれです。「リダイレクト先URL」をパラメータに入れるとき、?next=https://example.com/a?b=1 のようにそのまま繋ぐと、後半の ?b=1 が別のパラメータとして解釈され、リダイレクト先が壊れます。パラメータの「値」として渡すURLは、必ず encodeURIComponent で変換してください。このツールの初期設定は、この安全な側になっています。
よく見る変換結果の対応表
ログやURLで見かける記号を、暗記せずとも引けるようにまとめました。
| 元の文字 | 変換後 | 元の文字 | 変換後 |
|---|---|---|---|
| 半角スペース | %20(または +) | # | %23 |
| / | %2F | ? | %3F |
| : | %3A | = | %3D |
| & | %26 | + | %2B |
| @ | %40 | % | %25 |
| “ | %22 | ‘ | %27 |
| 日本語1文字 | %XX%XX%XX(UTF-8で3バイト) | 絵文字1つ | %XX が4つ |
日本語1文字が9文字(%E6%83%85 のように3組)になるため、日本語を含むURLは見た目より長くなります。URLの長さ制限に引っかかる場合、この点が原因になることがあります。
スペースが「%20」と「+」の2通りある理由
同じ半角スペースなのに、%20 で表される場合と + で表される場合があります。これは仕様が2系統あるためです。
| 表現 | 使われる場所 | 注意点 |
|---|---|---|
| %20 | URLのパス部分、一般的なURLエンコード | どこでも安全に使える |
| + | フォーム送信のクエリ文字列(application/x-www-form-urlencoded) | パス部分で使うと、プラス記号そのものと解釈される |
デコードするときに問題になります。+ をスペースに戻すべきか、プラス記号のまま残すべきかが、文脈によって変わるからです。このツールのデコードは、クエリ文字列で使われる慣習に合わせて + をスペースとして扱います。プラス記号そのものを表したい場合は、%2B でエンコードされているはずです。
デコードできないときの原因
| 原因 | 症状 | 対処 |
|---|---|---|
| % の後ろが16進2桁でない | URIError になる | %25 に置き換えられていないパーセント記号がないか確認 |
| 二重エンコード | %25E6%2583… のように見える | デコードを2回行う |
| UTF-8ではない | 文字化けする、またはエラー | Shift_JISでエンコードされた古いURL。ブラウザでは復元できない |
| 途中で切れている | 末尾がエラーになる | コピー範囲を確認する |
二重エンコードは、変換済みの文字列をもう一度変換してしまった状態です。% 自体が %25 になるので、%25 が並んでいたらこれを疑ってください。プログラムの中で、フレームワークが自動変換している箇所に、さらに手動の変換を足すと起こります。
日本語ドメインは、別の仕組みで変換される
URLの「ホスト名」の部分だけは、パーセント記号を使いません。Punycodeという別の方式で、xn-- で始まる英数字に変換されます。
| 部分 | 変換方式 | 例 |
|---|---|---|
| ホスト名 | Punycode | 日本語ドメイン → xn--で始まる文字列 |
| パス | パーセントエンコード | /情報 → /%E6%83%85%E5%A0%B1 |
| クエリの値 | パーセントエンコード | q=匠 → q=%E5%8C%A0 |
この違いが問題になるのは、フィッシングサイトの見分けです。見た目がそっくりな別の文字を使ったドメインが、Punycodeでは別の文字列として登録されています。ブラウザによっては、疑わしい場合に xn-- の形で表示します。URLの先頭に見慣れない xn-- が出ていたら、そのサイトは偽装を疑ってください。詳しくはフィッシング詐欺の見分け方にまとめています。
URLの分解が役に立つ場面
このツールの下部では、入力したURLを構造ごとに分解して表示します。長いURLを目で追う必要がなくなります。
| 場面 | 分解して何を見るか |
|---|---|
| 広告・解析のパラメータ確認 | utm_source などが正しく付いているか |
| 不審なリンクの調査 | 実際の接続先ホストはどこか。パラメータに別のURLが仕込まれていないか |
| APIのリクエスト確認 | どのパラメータにどの値が入っているか |
| リダイレクトの追跡 | next や redirect_uri の中身 |
とくに2番目は実用的です。長いURLの先頭に見慣れたドメインがあっても、実際の接続先は最初のスラッシュより前の部分だけで決まります。分解表示で「ホスト」の行を見れば、一目で判断できます。
計測パラメータ(utm_)の付け方と、確認のしかた
広告やSNSからの流入を分けて計測するとき、URLの末尾に付けるのが utm_ で始まるパラメータです。分解表示を使えば、付け間違いをその場で確認できます。
| パラメータ | 入れる内容 | 例 |
|---|---|---|
| utm_source | 流入元の媒体名(必須) | x, newsletter, partner-site |
| utm_medium | 流入の種類(必須) | social, email, cpc, referral |
| utm_campaign | 施策の名前 | summer-sale-2026 |
| utm_content | 同一施策内での出し分け | banner-a, banner-b |
| utm_term | 検索連動広告のキーワード | — |
実務でよくある失敗を挙げます。
| 失敗 | 結果 |
|---|---|
| 大文字と小文字が混在する | X と x が別の流入元として集計され、数字が割れる。すべて小文字で統一する |
| スペースをそのまま入れる | URLが途中で切れる。ハイフンかアンダースコアに置き換える |
| ?と&を取り違える | 1つ目のパラメータは ? 、2つ目以降は & 。逆にすると認識されない |
| 自サイト内のリンクに付ける | 訪問が別セッションとして分割され、経路が追えなくなる |
| 個人情報を入れる | メールアドレスや氏名をURLに入れてはいけない。ログや解析ツールに残る |
付けたURLをこのツールに貼り、分解結果のパラメータ一覧が意図どおりかを確認してから配布してください。GA4の初期設定もあわせてご覧ください。
不審なリンクを、開かずに調べる
メールやSMSで届いたリンクが本物かどうかは、踏まずにURLだけで判断できます。このツールの分解機能が役に立つ場面です。
| 順番 | やること | 見るところ |
|---|---|---|
| 1 | リンクを長押し(スマホ)または右クリックしてURLをコピーする。タップしない | — |
| 2 | このツールに貼り付けて「デコード」を押す | エンコードで隠された文字が復元される |
| 3 | 分解結果の「ホスト」の行を見る | ここが本物のドメインかどうかがすべて |
| 4 | クエリパラメータに別のURLが入っていないか確認する | リダイレクト先を偽装する手口 |
URLは左からではなく、ホストの部分だけを見ます。https://example.co.jp.secure-check.xyz/login の本当の接続先は secure-check.xyz です。先頭の見慣れた文字列は、相手が自由に付けられる飾りにすぎません。分解表示なら、この判断を目視ではなく機械的に行えます。手口の全体像はフィッシング詐欺の見分け方にまとめています。
URLの長さには、実務上の上限がある
規格上の明確な上限はありませんが、実装ごとに事実上の制限があります。日本語を含むURLはエンコードで3倍以上に伸びるため、意外と早く到達します。
| 対象 | 目安 | 超えるとどうなるか |
|---|---|---|
| ブラウザ | おおむね2,000文字以内が安全圏 | 古い環境では切り捨てられる |
| サーバー | 設定による(8KB前後が既定のことが多い) | 414エラーが返る |
| 検索エンジン | 長すぎると評価上不利になりうる | — |
| メール・SNS | 途中で改行が入り、リンクが壊れる | クリックできなくなる |
長くなる場合は、GETのパラメータではなくPOSTで送るか、短縮URLを使います。ただし短縮URLは接続先が見えなくなるため、受け取る側の警戒を招く点は理解しておいてください。
あわせて使える無料ツール
- Base64エンコード・デコード — テキストとBase64の相互変換
- HTMLエスケープ・アンエスケープツール — タグとして解釈される文字の実体参照化
- 大文字小文字・全角半角変換ツール — 大文字小文字と全角半角の変換