·9 分

QR コードを読み取る — /tools/qr-read の思想と使い方

Zerosend の QR 読み取りツールは、画像をサーバーに送らずブラウザ内で QR の中身をテキスト抽出します。リンク先の自動遷移はせず、安全に内容を確認できます。Zerosend 編集部が解説。

怪しい広告に貼られていた QR、送られてきたチラシの QR、カメラで読むにはスマホを近づける距離が取りづらい QR。「画像として手元にある QR を PC でサッと中身だけ確認したい」という場面は意外と多いものです。

Zerosend の QR 読み取りツール は、この用途のためにあります。フィッシングやスキャン型詐欺への自衛にも使えます。

どんな場面で役立つか

  • 印刷物の URL を PC でそのまま開きたい: チラシやポスターの QR を撮影 → 画像をドロップ → URL をコピー、という流れでスマホを使わずに遷移できます
  • 受け取った QR の内容を先に確認したい: メールや SNS で届いた QR をスキャンする前に、リンク先が安全かテキストで確認できます
  • スクリーンショットに含まれる QR を読みたい: 画面録画や資料の中に小さく写っている QR も、画像をそのまま貼り付けるだけで読み取れます
  • QR コード生成後の検証: QR コード生成ツール で作った QR が正しい内容を埋め込んでいるか、すぐ確認できます

なぜブラウザ内で QR を読み取るのか

QR 読み取り=「カメラで撮って自動でリンクを開く」と考えがちですが、これは危険な挙動です。悪意のある QR はフィッシングサイト、マルウェア配布 URL、課金トラップ、不審なアプリインストールに誘導することがあります。

Zerosend はこれに対し 2 つの方針を取ります。

  1. 画像読み取り処理をローカルで行う — QR 画像を第三者に渡さない
  2. デコード結果を自動遷移しない — URL が含まれていても、まずテキストとして表示し、ユーザーが内容を確認してから手動で判断できる

これはセキュリティ設計として重要な原則で、ZerosendのCLAUDE.mdにも「外部 URL への自動遷移禁止」として明記されています。

使い方

  1. /tools/qr-read を開く
  2. QR が写っている画像をドラッグ&ドロップ
  3. 自動でデコードが走り、結果がプレーンテキストとして表示される
  4. 内容を確認し、必要なら手動でコピー・遷移

仕組み

jsQR というブラウザ対応の純 JavaScript QR デコーダを使っています。

  • 画像を <canvas> に描画
  • getImageData() でピクセル配列を取得
  • jsQR がピクセル配列から QR を検出・デコード
  • 結果をテキストとしてそのまま表示 (HTML として解釈しない・リンク化しない)

ライブラリは WASM ではなく純 JavaScript 実装のため、初回ロードが軽いのも特徴です。

フィッシング対策としての使い方

怪しいメール・チラシ・SMS に QR が含まれているとき:

  1. 画像をスクリーンショットや保存で取得 (スキャンしない)
  2. Zerosend で読み取ってテキストとして URL を確認
  3. URL 構造に違和感がないかチェック (正規サイトのサブドメイン偽装、短縮 URL 経由、意味不明なパスなど)
  4. 問題なさそうなら手動でアドレスバーに入力して遷移

カメラで直接読むと一発でブラウザが開くリスクがありますが、この手順ならテキストで一度確認できます。

よくある質問

Q. 悪意ある QR コードを読み取っても安全ですか? A. 安全です。Zerosend は読み取り結果を テキストとして表示するだけで、URL を自動的に開きません。フィッシングサイトへの誘導や不正アプリのインストールは、ユーザーが自分でリンクを開かない限り起きません。設計上の安全機構です。

Q. バーコード (1D コード) も読み取れますか? A. 現状は QR コード (2D) 専用です。バーコードには非対応です。

Q. 画像内に複数の QR がある場合は? A. 現状は最初に検出された 1 つだけ読み取ります。

Q. 読み取れない QR A. 解像度不足・反射・歪みが主な原因です。撮り直すか 画像編集 で補正を試してください。

Q. 読み取り結果がサーバーに送られていないか確認したい A. DevTools の Network タブを開いてから QR 画像をドロップしてください。通信が発生しないことが確認できます。jsQR ライブラリは純 JavaScript 実装のため、WASM の読み込みもなく初回ロードが軽いです。

関連ツール


© Zerosend Editorial ← Blog Index

関連記事