QRコード読み取り

画像・貼り付けたスクリーンショット・カメラから QR コードを読み取り。1 枚に複数のコードも全部読み、Shift_JIS の日本語も文字化けしません。URL は実際の接続先ドメインを表示。画像はアップロードしません。

  • 画像とカメラ映像はブラウザー内に留まります。URL モードは入力したアドレスから画像をダウンロードします
  • 無料 · 登録不要
http:// または https:// の画像 URL を入れ、「読み取る」か Enter を押します。配信元が CORS を許可する必要があります。Cookie と参照元は送りません。失敗したら画像を保存してドロップしてください。

URL モードは画像の配信元へ接続するため、配信元に IP アドレスが伝わります。

「カメラで読み取る」で許可を求め、背面カメラを優先します。映像はブラウザー内で処理し、コードのある最初のフレームで停止します。「カメラを止める」、クリア、Ctrl/⌘+L でも停止します。カメラ API 対応ブラウザーと安全な接続環境が必要です。
画像 画像を 1 枚選ぶかドロップし、または Ctrl+V / ⌘V でスクリーンショットを貼り付けます。ブラウザーが表示できる形式が必要です。PDF は先にスクリーンショットにしてください。ZXing C++ の WebAssembly 版 zxing-wasm 3.1.4 を初回に本サイトから読み込みます(約 420 KB)。QR・Micro QR・rMQR を最大 16 個読み、16,777,216 ピクセルを超える画像は縮小します。

画像をドロップ、クリックして選択、またはスクリーンショットを貼り付け(Ctrl+V / ⌘V)

別の画像を選択・ドロップ・貼り付け

PNG · JPG · GIF · WebP · BMP · AVIF、1 枚に複数のコードがあっても読めます

例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。

QR コードと Shift_JIS

QR コードは 1994 年にデンソーウェーブ(当時はデンソーの一事業部)が発表したコードで、開発時から「漢字やカナも表現したい」という要望に応えることが目標でした(デンソーウェーブ「QRコード道のり」)。そのため仕様には Shift_JIS の 2 バイト文字を 13 ビットで詰める漢字モードがあります。また文字コードを示す ECI は任意なので、バイトモードに Shift_JIS のバイト列を宣言なしで入れたコードも作れます。

こうしたコードを UTF-8 前提で読むと文字化けするか、空になります。このツールで確かめた結果は次のとおりです。

コードの中身読み取り結果
漢字モードの「漢字モード」正しく表示(Shift_JIS)
バイトモードの Shift_JIS「東京都千代田区丸の内 カフェ」、ECI なし正しく表示、「Shift_JIS(推定)」
ECI 20(Shift_JIS)を宣言した「こんにちは世界」正しく表示、「Shift_JIS(ECI 20)」
ECI 26(UTF-8)を宣言した「Grüße 你好 안녕」正しく表示、「UTF-8(ECI 26)」

ECI がないとき、UTF-8 として正しいバイト列は UTF-8、そうでなければ日本語ページでは Shift_JIS を先に試し、残りは ZXing の推定規則に従います。推定が外れたら「文字コード」メニューで GB18030、EUC-KR、Big5 なども選べます。

読み取り結果の見方

  • URL:http / https だけをリンクにし、クリックしたときだけ新しいタブで開きます。アドレスに @ があると、その前はユーザー名にすぎないことと実際の接続先を表示します。ラテン文字以外を含むホストは punycode(xn--)で表示し、紛らわしい文字に注意を促します。
  • 連絡先:vCard と、NTT ドコモが定めた MECARD 形式を項目ごとに表示します。MECARD:N:山田,太郎;SOUND:ヤマダ,タロウ;TEL:0312345678;EMAIL:taro@example.jp;; は名前「山田,太郎」、よみがな「ヤマダ,タロウ」、電話、メールの 4 行になります。
  • Wi-Fi・メール・電話・SMS・位置情報:それぞれ項目に分けます(Wi-Fi の書式は ZXing: Barcode Contents)。SMSTO:+819012345678:予約を確認しました は番号と本文に分かれます。
  • アプリのリンク:weixin:// や otpauth:// などはテキストのまま表示し、javascript:・data:・file: には警告を付けます。

複数のコード・大きな写真

1 枚の画像に写ったコードは最大 16 個まで読み、左上から番号を付けます。白黒反転したコード、回転したコード、余白のないコードも読めます。16,777,216 ピクセル(iOS Safari のキャンバス上限)を超える写真は縮小してから読み、その旨を表示します。4000×3000 の写真に写った 180 ピクセルのコードは、デスクトップ版 Chromium で約 1.2 秒でした。33 モジュールのコードを 45×45 ピクセルまで縮めると読めず、60×60 なら読めました。

ほかの読み取りツールとの比較

2026-09-30 に同じテスト画像をデスクトップ版 Chromium で読み込んだ結果です(白黒反転とグレーの低コントラストはどれも読めました)。

テスト画像ZeroToolQR TOOLScanQR
Shift_JIS のテキスト(ECI なし)正しく表示「読み取りに成功しました!」で文字列は空「QR code detected!」で文字列は空
1 枚に 3 つのコード3 件1 件(Wi-Fi のみ)3 件
4000×3000 の写真の小さなコード約 1.2 秒で読み取り20 秒後も「少々お待ちください」「No QR code found」
javascript: の中身テキスト+警告テキストテキスト

制限事項

  • 1 回に 1 枚です。PDF はスクリーンショットにしてください。HEIC は表示できるブラウザー(Safari)でだけ読めます。
  • 初回は約 420 KB のデコーダーの読み込みを待ちます。
  • 読めるのは QR 系だけで、JAN(EAN)や Code 128 などのバーコードは読めません。
  • URL モードは画像のサーバーがクロスオリジン要求(CORS)を許可している場合だけ使えます。

QR コードを作るときは QRコード作成、Wi-Fi の共有には WiFi QRコード作成、長い URL の中身を確かめるには URL 解析ツールを使ってください。

FAQ

画像はサーバーにアップロードされますか?

されません。ファイル、貼り付けたスクリーンショット、カメラ映像はブラウザー内の zxing-wasm で読み取ります。デコーダーは本サイトの /vendor から読み込みます。通信が発生するのは URL モードだけで、入力したアドレスから画像をダウンロードします(Cookie と参照元は送りません)。

パソコンで QR コードを読み取るには?

QR コードが写った画面でスクリーンショットを撮り、このページで Ctrl+V(Mac は ⌘V)を押すだけです。画像ファイルをドロップしても、Web カメラで読み取ってもかまいません。

読み取った日本語が文字化けします。

コードに Shift_JIS などのバイト列が ECI の宣言なしで入っている可能性があります。日本語ページでは UTF-8 でないバイト列をまず Shift_JIS として読みます。それでも崩れる場合は、結果の下の「文字コード」メニューで選び直してください。「バイト列」で 16 進の生データも確認できます。

1 枚の画像に QR コードが複数あっても読めますか?

読めます。最大 16 個まで、左上から順に番号を付けて表示し、プレビュー画像の番号と結果カードが対応します。

カメラで読み取るには何が必要ですか?

標準のカメラ API(getUserMedia)に対応したブラウザー、HTTPS のページ、カメラの許可です。「カメラで読み取る」を押したときだけ許可を求め、映像は端末内で処理します。拒否した場合は写真をアップロードしてください。