QRコードを読み取る方法:スマートフォン、スクリーンショット、2台目の端末

KoloQRチーム基本

黄色い壁を背に、緑のテーブルの上でスマートフォンを持つ手。テーブルには丸型の黒いQRコードが刷られた白いカードが置かれ、端末はそちらへ傾けられている。

カメラアプリを開き、画面のおよそ3分の1をコードで埋めて、表示された通知をタップします。iOS 11以降のiPhoneと、ほとんどのAndroid端末では、何もインストールせずにこれで読めます。カメラ以上のものが要るのは、画像として保存されたコード、いま手に持っている端末の画面に表示されたコード、そしてリンクではなくログイン要求だと判明するコードの3つです。

要点

  • どちらのプラットフォームでもスキャナーはカメラアプリです。iPhoneはiOS 11から標準のカメラアプリでQRコードを読み、Androidのカメラも大半は同じで、読まない機種ではGoogle Lensが代わりになります。
  • 画面のおよそ3分の1をコードで埋め、1秒ほど動かさずに構えてください。読み取り失敗のほとんどは、コードが壊れているのではなく画面内で小さすぎることです。
  • スクリーンショットとして保存されたコードは、カメラを何もない方に向けても読めません。写真アプリで開いて長押しするか、Google Lensに通すか、ファイルをデコーダーにアップロードしてください。
  • 手に持っている端末に表示されたQRコードには、2台目の端末か、そのスクリーンショットを読むデコーダーが必要です。自分の画面を撮影できるカメラはありません。
  • 開く前にアドレスを読んでください。QRコードは仕組み上、遷移先を隠します。それこそがクイッシングの成立する理由であり、どのデコーダーも操作の前にデコード結果のテキストを見せてくれます。
  • ログイン用のコードはリンクではありません。読み取ると、それを表示した端末のセッションが認可されます。自分で要求したログインコード以外は読み取らないでください。

iPhoneでQRコードを読み取る

カメラアプリを開いてQRコードに向け、画面上部に出る黄色い通知をタップします。Appleは2017年公開のiOS 11から標準カメラにQR検出を組み込んでいるので、ここ数年に売られたiPhoneに読み取りアプリを入れる必要はありません。

  1. カメラアプリを開く. どちらのカメラでも読めますが、背面カメラのほうが近くにピントが合うので、印刷されたコードにはこちらを使います。切り替えるべきスキャンモードはありません。
  2. 画面の約3分の1をコードで埋める. コードがファインダーの幅のおよそ3分の1を占めるまで近づきます。何も起きない原因でいちばん多いのは、距離が遠すぎることです。
  3. 1秒ほど動かさずに構える. 検出には鮮明なフレームが要ります。プレビューがまだピントを探しているなら、画面上のコードをタップしてそこにフォーカスを固定してください。
  4. タップする前に通知を読む. 通知にはコードが指すドメインが表示されます。この1行が、遷移する前に行き先を確かめられる唯一の機会です。

通知が出ない場合は、設定からカメラを開き、「QRコードをスキャン」がオンになっているか確認してください。初期状態でオンであり、まず最初に切り分けるべき項目です。

iOS 12で追加された専用の「コードスキャナー」もあり、設定からコントロールセンターに追加できます。動作はカメラアプリと同じですが、直接スキャン画面が開くので、コードを続けて何枚も読むときは速く済みます。

Android端末でQRコードを読み取る

カメラアプリを開いてコードに向けます。Androidのカメラアプリは追加のソフトなしでQRコードを読むものが大半で、読まない場合はGoogle Lensが読みます。Lensは大多数のAndroid端末で写真アプリ、Googleアプリ、アシスタントに組み込まれています。

Androidにはここで単一の答えがなく、バージョン番号でごまかすよりはっきり述べる価値があります。Android端末のカメラアプリはメーカーが書くものなので、Samsung、Google、Xiaomi、Motorolaがそれぞれ別々に、カメラがコードを検出するか、表示はどうなるか、設定項目があるかを決めています。どこでも同じように動くのはGoogle Lensの部分です。

  • 標準カメラ。 向けたまま、コードの上に表示や小さなチップが出るのを待ちます。設定メニューがあるなら「QRコードをスキャン」や「Google Lensの候補」のような項目を探してください。
  • Google Lens。 Googleアプリまたは検索バーからLensを開き、コードに向けて結果をタップします。カメラアプリが協力してくれるかどうかに関係なく使えます。
  • Googleフォト。 保存済みのコード画像を開いてLensボタンをタップします。目の前にあるコードではなく、送られてきたコード向けの経路です。

古い端末や機能を削ったビルドでは、どちらもない場合があります。その場合はブラウザで動くデコーダーならインストールなしで用が足ります。このサイトのQRコードスキャナーもその一つで、コードをアップロードせず自分の端末上で読み取ります。

スクリーンショットや保存した画像からQRコードを読み取る

画像として届いたQRコードには、ファイルを受け付けるデコーダーが要ります。カメラの前に撮るものが何もないからです。方法は3つあり、どれもアプリのインストールを必要としません。

  1. 端末の写真アプリで開き、コードを長押しする。 最近のiOSもAndroidも、保存画像の中で見つけたリンクをこの方法で提示します。
  2. Google Lensに通す。 Googleフォトで画像を開いてLensボタンをタップすると、デコード結果がカードとして表示されます。
  3. ファイルをデコーダーにアップロードする。 PNG・JPG・SVGをQRコードスキャナーにドロップすると、ブラウザ内でデコードし、操作する前に中身のテキストを表示します。

アップロードには他の2つにない利点があります。デコード結果をテキストとして見せることです。長押しはタップできるリンクを渡してくれて便利ですが、その分、先にアドレスを読めたはずの瞬間が消えます。

いま手に持っている端末に表示されたQRコードを読み取る

2台目の端末を使うか、スクリーンショットを撮ってそれをデコードします。スマートフォンのカメラは、そのカメラが付いている端末の画面を撮影できないので、同じ端末のアプリに表示されたコードはスキャンではなくキャプチャする必要があります。

これは思っているより頻繁に起こります。チャットで送られたコード、メールの搭乗券、ウォレットアプリのチケット、ノートPCに出たログイン要求は、どれも画面上のコードで、向けられるのはノートPCだけです。

  • スクリーンショットを撮ってからデコードする。 画面をキャプチャし、そのスクリーンショットを写真アプリやLensで開くか、デコーダーにアップロードします。
  • 2台目のスマートフォン。 別の端末を画面に向けます。先に画面の明るさを上げてください。暗い画面をスマートフォンのカメラで撮ると、コントラストが急速に失われます。
  • PCの画面をスマートフォンのカメラで。 ログインコードではこれが通常の向きで、特別なものは要りません。

開く前にアドレスを読む

QRコードはデコードされるまで遷移先を隠します。クイッシングが成立する理由はそこにあります。パーキングメーターの本物のコードの上に貼られたシール、偽のサインインページに導くメール内のコード、3つのドメインを経由して転送されるチラシのコードは、どれも書いてあるとおりの場所に行くコードと見分けがつきません。

モニターに表示された丸型のQRコードをスマートフォンのカメラが捉えており、カメラ画面の下部には解読されたドメイン koloqr.com を示す黄色い通知が出ている。
通知は、読み取りが遷移先を先に見せてくれる唯一の瞬間です。

どのスキャナーも確認の機会を一度くれます。iOSでは通知で、そこにドメインが出ます。Lensではカードです。ファイルのデコーダーではデコード結果のテキストそのもので、だからこそ怪しい画像は長押しするよりアップロードするほうが安全です。

  • 周りの文言ではなくドメインを確認する。 「駐車料金はこちらから」という文字の横にあるコードは、そのコードの行き先について何も語っていません。
  • 短縮リンクは未読と同じだと考える。 短縮サービスは遷移先をもう一段隠します。テキストを表示するデコーダーなら、開く前に安全な場所へそのリンクを貼り付けて確かめられます。
  • 手渡された印刷物のコードより、公共の場所にあるコードに慎重になる。 シールは既存のコードの上から貼れますが、半年前に印刷されたメニューはそうはいきません。

とはいえ、読み取りそのものが危険になるわけではありません。QRコードのデコードはテキストを1つ読むだけで、それ以上は何もしません。リスクは中身を開いた瞬間から始まります。

ログインコードはリンクではなく、別のルールが要る

ログイン用のQRコードを読み取ると、それを表示した端末のセッションが認可されます。WhatsApp Web、X、Telegram、Discordはいずれもこの方式です。画面がコードを表示し、あなたの端末がそれを読み取ると、その画面のブラウザがあなたとしてサインインします。

そこから出てくるルールは短いものです。自分で要求したログインコードを、自分が見ている画面上で読み取るときだけにしてください。メッセージで送られてきたログインコードや、誰かが読み取ってほしいと差し出すコードは、見知らぬ相手を自分のアカウントにサインインさせる依頼です。

X(Twitter)のQRコードのページでは、そのプラットフォームに限ったプロフィールコードとログインコードの違いを扱っています。見た目は同じで、やることはまるで違うからです。

Wi-Fi・連絡先・カレンダーのコードは何も開かない

すべてのQRコードがWebアドレスを持つわけではありません。QRコードが保持するのはテキストで、そのテキストの決まった形について、いくつかの慣習が端末に何をすべきかを伝えます。ネットワークに接続する、連絡先を保存する、予定を追加する、といった具合です。読み取り操作は同じでも、その後に起きることは違います。

コードの中身端末が提示すること先に確認すること
Webアドレスリンクを開く通知に表示されたドメイン
Wi-Fiの認証情報このネットワークに接続ネットワーク名 - パスワードはコード内に平文で入っています
連絡先カード連絡先に追加保存する前に名前と番号
カレンダーの予定カレンダーに追加日付とタイトル
プレーンテキストコピー、検索、または何もなしなし - テキストだけでは何も起きません
Wi-Fiコードはネットワークのパスワードを読める形のテキストとして持ちます。印刷したゲスト用コードを、印刷したパスワードと同じように扱うべき理由です。

Wi-Fi QRコードのページでは、端末がその認証情報をどう扱うか、iOSとAndroidで書式がどこで違うかを説明しています。

ノートPCやデスクトップで読み取る

デスクトップには外界に向いたカメラがないので、入力はファイルです。画像を保存してブラウザのデコーダーに通してください。QRコードスキャナーは自分のマシン上でPNG・JPG・SVGを読み、テキストを表示します。

これは他人のコードよりも自分のコードを確かめるための道具でもあります。デスクトップでファイルがデコードできるのに、その印刷版がスマートフォンで読めないなら、不具合はファイルより後 - レイアウト、書き出し、印刷機 - のどこかで入ったのであって、コード自体ではありません。QRコードバリデーターは同じファイルを取り、コントラスト、クワイエットゾーン、モジュールサイズ、シンボルバージョンからその理由を測ります。

何も起きないとき:実際に何が問題なのか

読み取りの失敗はほぼ6つのどれかで、下の順番がそのまま試す順番です。コード側の問題なのは最後の2つだけで、残りは試し方の問題です。

症状考えられる原因対処
通知が出ず、コード自体は問題なさそう画面内でコードが小さすぎる幅の約3分の1を占めるまで近づく
プレビューがピントを探し続ける検出ではなくフォーカスの問題画面上のコードをタップしてフォーカスを固定し、動かさずに構える
屋外では読めるが屋内では読めない鮮明なフレームに光量が足りない近づくのではなく光を足す
中央に反射が走るグロス加工やラミネートが光源を映している光に対してコードを15度ほど傾ける
どの距離でも反応しない印刷が小さすぎるか、クワイエットゾーンが切られている実測する - 下記参照
読める端末と読めない端末があるコントラストが限界寸前か、シンボルが損傷している推測せずファイルをバリデーターに通す

光ではなくコードの問題なら、QRコードが読み取れない理由が原因を発生順にたどります。また印刷の最小サイズは、そのコードが最初から必要としていた幅を示します。

QRコードを作る

無料、アカウント不要、透かしなし。形を選び、ロゴを重ね、コントラストを確かめて、SVG・PDF・EPS・PNGで書き出せます。サブスクリプションの要らない静的コードです。

QRコードを作成

Questions? Answered

端末のカメラを開いてコードに向けてください。iPhoneはiOS 11から標準カメラでQRコードを読み、Androidのカメラも大半は同じです。読まないAndroid端末でも、Google Lensがすでに入っていて読めます。どちらのプラットフォームでもサードパーティ製の読み取りアプリは不要です。

設定からカメラを開き、「QRコードをスキャン」がオンか確認してください。関係する設定はこれだけです。オンなら原因はたいてい距離で、コードが画面のおよそ3分の1を埋める必要があります。画面上のコードをタップしてフォーカスを固定し、あきらめる前に1秒動かさずに構えてみてください。

端末の写真アプリでスクリーンショットを開いてコードを長押しするか、画像をGoogle Lensに通します。デスクトップなら、ブラウザで動くデコーダーにファイルをアップロードしてください。カメラを何もない方に向けても読めません。撮るべきコードが前にないからです。

スクリーンショットを撮ってそれをデコードするか、2台目の端末を画面に向けてください。スマートフォンのカメラは、自分が付いている画面を撮影できません。2台目を使うなら、1台目の画面の明るさを上げてください。暗い画面はカメラ越しにコントラストを大きく失います。

デコード自体は安全です。テキストを読むだけで、それ以外は何もしません。リスクは中身を開いたときに始まります。QRコードは読み取るまで遷移先を隠すからです。タップする前に通知のドメインを確認し、手渡された印刷物のコードよりも、公共の場所に貼られたシールのコードを疑ってください。

そのコードを表示した端末が、あなたとしてサインインします。WhatsApp Web、X、Telegram、Discordはいずれもこの方式です。自分で要求したログインコードを、自分が見ている画面上で読み取るときだけにしてください。誰かが送ってきたログインコードは、その人を自分のアカウントに入れる依頼です。

読み取れますが、カメラではなくファイルからです。画像を保存してブラウザのデコーダーに通すと、自分のマシン上でコードを読み、中身のテキストを表示します。印刷して読めないコードが、ファイルの側で壊れているのか紙の側で壊れているのかを見分ける最短の方法でもあります。

たいていは端末の差ではなく、コントラストが限界寸前であるか、サイズ限界に近い大きさで印刷されているからです。デコーダーによって受け入れる画質の悪さが違うので、可読の境界にあるコードは一方で通り、もう一方で失敗します。端末を増やして試すより、ファイルを実測してください。

不要です。デコードは端末上で行われるので、Wi-Fiの認証情報、連絡先カード、プレーンテキストを含むコードは接続なしで機能します。接続が要るのは、デコードされたWebアドレスを開くときだけです。

KoloQRを選ぶ理由

  • ウェブサイト、メニュー、Wi-Fi、PDF、名刺用のQRコードを作成
  • 色・ロゴ・オリジナルの形をカスタマイズ
  • 高品質なPNG・SVGファイルをダウンロード
  • 印刷にもデジタルにも対応
QRコードを作成
シンプルな黒いQRコードと、同じコードをブランドカラーの円形にデザインし直したもの