N2
NanToo
ライフスタイル

QRコード読み取りツール (画像・カメラ対応)

画像またはカメラから QR コードを読み取り、危険スキーム、短縮URL、IP直接指定、Punycode、認証情報付きURLなどの登録済みパターンを確認。処理はブラウザ内で完結します。

確認事項: 本ツールは登録済みの危険パターンを確認しますが、リンク先の安全性は保証しません。 ドメインと内容を確認してから利用してください。読み取り処理はブラウザ内で行い、 画像とカメラ映像を本ツールのサーバーへ送信しません。

または画像をドラッグ&ドロップ(12MB・32メガピクセルまで)

QRコード読み取りツール (画像・カメラ対応)について

QR コード読み取りツールとは

本ツールは、画像ファイルまたはカメラから QR コードを読み取り、その内容を警告付きで表示するツールです。javascript:data: などの危険な URI、URL 短縮サービス、IP アドレス直接指定、Punycode、URL 内の認証情報など、登録済みのパターンを確認します。警告がないことはリンク先の安全性を保証しません。

すべての処理はあなたのブラウザ内で完結します。画像もカメラ映像も外部サーバには送信されません。

免責事項 — 自己責任での利用

本ツールは QR コードの内容を表示・解析するのみで、読み取った内容に起因するいかなる被害についても一切の責任を負いません。読み取った QR コードに含まれるリンクをクリックする・データを実行する等の操作は、すべてご利用者ご自身の自己責任で行ってください。

本ツールが「危険」と判定しなかったコンテンツでも、フィッシングサイト・マルウェア配布サイト等の可能性はゼロではありません。リンク先のドメイン・運営者・通信内容を必ずご自身で確認してから利用してください。

QR コードを悪用した誘導への公的な注意喚起

  • FBI / IC3 公式注意喚起 (2022年1月) — Public Service Announcement I-011822-PSA「Cybercriminals Tampering with QR Codes to Steal Victim Funds」で悪意のある QR コードを警告
  • FTC 消費者警告 (2023年12月) — 「Scammers hide harmful links in QR codes to steal your information」

QR コードでは読み取るまでURLを直接確認しにくいため、公式資料はいずれも、読み取り後に表示された接続先を確認し、ログイン情報や決済情報を入力する前に正規のサイトか確かめるよう案内しています。

本ツールが検出する危険・警告

⛔ 即座にブロック (リンクオープン不可)

  • javascript: — クリックでブラウザが任意の JavaScript を実行する典型的 XSS
  • data: — 任意の HTML/JS を埋め込めるためフィッシング表示に悪用
  • vbscript: — IE 用の古い任意コード実行スキーム
  • file: — ローカルファイルへの参照を試みる
  • URL のユーザー名・パスワード形式 — trusted.example@evil.example のように接続先を誤認させる形式

⚠ 警告表示

  • tel: — タップで電話発信、プレミアムレート詐欺
  • sms: / smsto: / mms: / mmsto: / matmsg: — SMS/MMS 作成画面の起動
  • mailto: — メール作成画面の自動起動
  • intent:// — Android アプリの起動誘導
  • WIFI: / DPP: — Wi-Fi接続やEasy Connectによる機器登録
  • URLTO: / MEBKM: — ブラウザ表示・ブックマーク登録用のURL形式。格納されたHTTP(S) URLや危険スキームも同じ安全性検査を適用
  • vCard / MECARD 内のURL項目 — 連絡先データに格納されたURLにも同じ登録済みパターン検査を適用
  • geo: — 地図アプリで指定座標を開く
  • ftp:otpauth:bitcoin:などHTTP(S)以外のURIスキーム — アプリ起動・認証情報登録・決済操作等の可能性
  • HTTP (暗号化なし) URL
  • IP アドレス直接アクセス (203.0.113.x 等)
  • https:example.comなど、ブラウザが補正してURLとして扱う非正規のHTTP(S)表記
  • localhost.local、単一ラベルなど端末内・組織内を指す可能性があるホスト
  • 標準のHTTP/HTTPSポート以外を明示したURL
  • punycode (xn--) ドメイン — 多くは国際化ドメインだが偽装の可能性
  • Unicode 表示でラテン文字とキリル・ギリシャ・日本語・CJK文字が混在するドメイン
  • 双方向文字制御・ゼロ幅スペースなど、表示を誤認させ得る不可視書式文字(HTTP(S)やその他のURI内でpercent-encodeされた場合を含む)
  • URL 短縮サービス (bit.ly, t.co, tinyurl, etc.) — 最終遷移先が見えない

技術仕様

  • 復号エンジン: 利用中のブラウザが QR 形式の BarcodeDetector API に対応する場合は優先し、非対応または失敗時は jsQRへフォールバック。通常は Worker 上で解析し、Workerを利用できない場合は画像をさらに縮小してブラウザのメイン処理へ退避
  • カメラ: 標準 getUserMedia API、複数カメラ対応 (内蔵/外付け、前面/背面切替)。QR検出時はカメラを停止
  • 表示: 全ての文字列出力を React の自動エスケープ (textContent) で行う。dangerouslySetInnerHTML は一切使用しない
  • 文字データの扱い: C0 制御文字と U+007F のうち改行・タブ・復帰を除く文字、および表示順を変える双方向制御文字を安全表示から除去。URLや危険スキームの解釈に影響する登録済み不可視書式文字も除去し、警告を表示します。一般テキストのZWJ/ZWNJは原文のまま保持し、それ以外の登録済み不可視書式文字は原文を保持した上で警告します
  • 接続先表示: URL APIで正規化したホストと明示ポートを分離表示。URLTO:MEBKM:内のURLと、vCard・MECARD内のURL項目にも同じ検査を適用します。構造化データにURLが1件だけ含まれる場合は接続先も表示します。非正規URL、ローカル向けホスト、非標準ポート、その他の登録済み警告があるURLは直接リンク化しません
  • 入力上限: 12MB、最大辺 8192px、合計 32メガピクセルまで。復号時は最大 4メガピクセルへ縮小
  • ネットワーク: 画像もカメラ映像も外部送信なし。完全クライアント処理
  • HTTPS 必須: カメラ機能はブラウザのセキュリティ制約により HTTPS でのみ動作 (localhost を除く)

対応する QR コード種別

種別 本ツールの判定
URLhttps://example.comHTTPS 推奨・登録済みパターン確認
Wi-FiWIFI:T:WPA;S:Net;P:pass;; / DPP:...警告表示・自動接続や機器登録なし
連絡先 (vCard)BEGIN:VCARD ... END:VCARDテキスト表示・URL項目を検査
連絡先 (MECARD)MECARD:N:山田;TEL:090...;;テキスト表示・URL項目を検査
電話番号tel:+819012345678警告表示
SMS / MMSsms:..., smsto:..., mms:..., mmsto:..., matmsg:...警告表示
URL格納形式URLTO:https://... / MEBKM:...URL:https://...;;警告表示・リンク化なし
メールmailto:test@example.com警告表示
位置情報geo:35.6895,139.6917警告表示
プレーンテキスト任意の文字列表示のみ・リンク化なし

よくある質問

Q. 読み取った画像やカメラ映像はサーバに送信されますか?
本ツールの読み取り処理はブラウザ内で行い、QR の内容、選択画像、カメラ映像を本ツールのサーバーへ送信しません。ただし、端末、ブラウザ、拡張機能、開いたリンク先など、本ツールの管理外にある処理まで保証するものではありません。
Q. なぜ「javascript:」や「data:」をブロックするのですか?
これらの URI スキームは、Webページ内でコードや埋め込みデータを扱うための形式で、意図しない動作や偽の画面表示に悪用される場合があります。本ツールでは文字列として表示するだけにし、リンク化しません。
Q. URL 短縮サービスはなぜ警告対象なのですか?
bit.ly や t.co などの短縮 URL は、文字列だけでは最終的な接続先を確認できません。本ツールでは登録済みの短縮サービスを警告し、直接リンク化しません。利用する場合は、送信者や案内元を別の手段でも確認してください。
Q. 「同形異字攻撃 (homograph)」とは何ですか?
ラテン文字の「a」とキリル文字の「а」(U+0430) のように、見た目が似ていてもコードポイントが違う文字を利用する偽装です。本ツールは Punycode を Unicode 表示へ戻し、複数の文字体系が混在する場合に警告します。ただし、単一文字体系だけで構成された偽装を含むすべての同形異字を判定するものではありません。Punycode を含むURLは混在の有無にかかわらず直接リンク化しません。
Q. カメラが起動しません
(1) HTTPS 接続でアクセスしているか確認してください (HTTP では動きません、localhost を除く)。(2) ブラウザのアドレスバーのカメラ許可アイコンをクリックして、本サイトに対するカメラ許可を確認してください。(3) 別のアプリ (Zoom など) がカメラを使用していないか確認してください。
Q. QR が読み取れません
画像が暗い・小さい・歪んでいる場合は読み取れないことがあります。QR コード全体と周囲の余白が画面に入り、模様へピントが合う距離に調整してください。反射や影を避け、明るく撮影した画像も試してください。
Q. 「登録済みの警告パターンは未検出」と表示されたリンクは安全ですか?
安全を保証する表示ではありません。本ツールは URI スキーム、URL形式、登録済みのパターンを確認しますが、HTTPSリンクの内容や運営者の正当性までは判断できません。画面に分離表示される接続先ホストを確認し、見覚えがなければリンクを開かないでください。

関連記事

このツールを評価
5.0(2件)