フィッシングURL・ドメイン

URLエンコード/デコード

ローカルで動作

ツール自体は英語ですが、このページではお客様の言語でその使い方を説明しています。

URLエンコード/デコード を使用してください

機能の説明

フィッシングリンクに隠されたリダイレクト先などのパーセントエンコードされたテキストをデコードするか、encodeURIComponentやencodeURIでURLに使うテキストをエンコードします。

すべてブラウザ上で動作します。入力した内容は一切アップロードされません。

URLエンコード/デコード の使い方

  1. テキストを貼り付ける. エンコードされた文字列(たとえばurl=やredirect=パラメータの値)、またはエンコードしたいプレーンテキストを貼り付けます。
  2. 操作を選ぶ. %XXの並びを文字に戻すにはdecode、1つの値をエンコードするにはencodeURIComponent、アドレス全体をエンコードするにはencodeURIを押します。
  3. 出力を読む. 結果はボタンの下の枠に表示されます。Errorは、入力がその操作に対して有効でないことを意味します。
  4. 必要ならもう一度デコードする. decodeを押すたびに1層はがされます。%25、%3A、%2Fがまだ見える場合は、出力を枠に貼り付け直してもう一度デコードしてください。
  5. コピーまたは引き渡し. Copyで結果をコピーします。Send to…は結果をLink Unwrapper、Multi-Layer Decoder、URL Defanger、Homoglyph Checkerに渡します。

例

エンコードされたリダイレクト先

入力
https%3A%2F%2Flogin.example.com%2Fverify%3Fuser%3Dalice%40example.com%26step%3D2
出力(2026-10-20に記録)
https://login.example.com/verify?user=alice@example.com&step=2

デコードするとhttps://login.example.com/verify?user=alice@example.com&step=2になります。フィッシングリンクは、偽のログインページに入力させるため、このように受信者のメールアドレスを含んでいることがよくあります。

チェック対象

シグナルその意味
デコード結果すべての%XXの並びが、UTF-8として読んだ対応する文字になります。中に2つ目の完全なアドレス、メールアドレス、スクリプトがないか探してください。
出力に残る%25%25はエンコードされたパーセント記号です。出力にまだ%3A、%2F、%25が含まれている場合、元のテキストはおそらく二重にエンコードされています。ぱっと見で移動先がわからないようにするよくある方法です。
Errorデコードは、単独の%、16進数でない文字が続く%、不完全なUTF-8の並びで失敗します。エンコードが失敗するのは壊れたサロゲートペアの場合だけで、貼り付けたテキストではまれです。
プラス記号decodeは+をそのまま残します。フォーム形式のクエリ文字列では+は空白を意味するため、自分でそのように読み替えてください。
encodeURIComponentの出力英字、数字、ハイフン、アンダースコア、ドット、チルダなどのいくつかの記号を除くすべてをエンコードするため、: / ? & = #や@もすべてエンコードされます。メールアドレスなど、1つのパラメータ値に使ってください。
encodeURIの出力: / ? & = # @など、URLの構造を作る文字は残し、空白やASCII以外の文字をエンコードします。
ASCII以外の文字エンコードでは、ASCII以外の各文字が2〜4個の%XXバイトで書かれます。このように隠されたキリル文字やアクセント付きの文字は、デコードして初めて見えるようになります。

その他の例

二重にエンコードされたリダイレクト先

入力
https%253A%252F%252Fexample.net%252Flogin
結果

decodeでhttps%3A%2F%2Fexample.net%2Floginになります。その出力をもう一度デコードするとhttps://example.net/loginになります。

1つのパラメータ値としてのメールアドレス

入力
alice@example.com&next=/account
結果

encodeURIComponentでalice%40example.com%26next%3D%2Faccountになるため、&や/でクエリが分割されなくなります。

空白とアクセント記号を含むアドレス全体

入力
https://example.org/search?q=café & tea
結果

encodeURIでhttps://example.org/search?q=caf%C3%A9%20&%20teaになります。&は残るため、teaは新しいパラメータの始まりになってしまいます。値にはencodeURIComponentを使ってください。

よくある質問

3つのボタンの違いは何ですか?

encodeURIComponentは、英字、数字、- _ . ~などのいくつかの記号を除くすべてをエスケープするため、1つのパラメータ値に適しています。encodeURIは: / ? & = #などのURLの構造を保ち、decodeは%XXの並びを元に戻します。

デコードでErrorが出たり、%2Fが残ったりするのはなぜですか?

単独の%や、途中で切れた%E0%A4のような不正な並びがあるとデコードに失敗し、ツールはErrorと表示します。1回の実行ではがすのは1層だけなので、二重にエンコードされたテキスト(%252F)はもう一度デコードするかMulti-Layer Decoderを使う必要があります。また、+は空白に変換されません。

テキストはどこかへ送信されますか?

いいえ。エンコードとデコードは、このページ上でブラウザの組み込み関数を使って行われます。何もアップロードされず、リンクが開かれることもありません。

そもそもフィッシングリンクがエンコードされるのはなぜですか?

エンコードすると読めるアドレスがパラメータの中に隠れるため、プレビュー、フィルター、ぱっと見では最初のホストしか見えません。リダイレクトサービスやメールスキャナーも、リンクをラップするときに移動先をエンコードします。

デコードでテキストの他の部分は変わりますか?

いいえ。変わるのは%XXの並びだけです。英字や+記号はそのまま残り、HTMLエンティティも変換されません。

Safe Linksのアドレスのような、ラップされたリンク全体をデコードするにはどうすればよいですか?

Link Unwrapperを使ってください。移動先を保持しているパラメータを見つけ、1層ずつデコードします。このツールは文字列全体を一度にデコードするため、ラッパーに属する部分もデコードされてしまいます。

アクセント付きの文字やキリル文字が複数の%XXのグループになるのはなぜですか?

ASCII以外の文字は、まずUTF-8のバイト列として書かれ、各バイトが個別にエンコードされます。éは%C3%A9に、キリル文字のаは%D0%B0になります。

用語解説

PhishDestroyの調査