URLエンコード・デコード|日本語対応とパラメータ分解(無料)

検索結果のURLに並ぶ %E6%83%85%E5%A0%B1 のような文字列。あれは日本語をURLで運べる形に変換したものです。読めないだけで、元に戻せます。

このツールは、日本語を含む文字列とURLエンコード形式を相互に変換します。「値だけを変換」と「URL全体を変換」を切り替えられるので、パラメータの値だけ変えたいのにURL全体が壊れる、といった失敗を防げます。あわせて、URLをスキーム・ホスト・パス・クエリパラメータに分解して一覧表示します。

処理はブラウザの中だけで行われ、入力した内容は送信されません。アクセス解析のパラメータ付きURLや、社内システムのURLでも安心して貼り付けられます。

URLエンコード・デコード

日本語対応。パラメータの分解表示つき。データは送信されません。

PARSE / URLの分解

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系統あるためです。

表現使われる場所注意点
%20URLのパス部分、一般的な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は接続先が見えなくなるため、受け取る側の警戒を招く点は理解しておいてください。

あわせて使える無料ツール