せっかく用意したQRコードが読み取れない——その原因の多くは、コードのデータそのものではなく、見た目・印刷・撮影の条件にあります。この記事では、読み取れない代表的な原因をコントラスト・余白・解像度・汚れ・ピント・データ量・URLの観点から整理し、それぞれの直し方と、そもそもトラブルを起こさない「作る側のコツ」を正確にまとめます。
1. コントラスト不足・色の反転
QRリーダーは、明るいマス(背景)と暗いマス(モジュール)の明暗の差を手がかりにコードを読み取ります。この差=コントラストが不足していると、リーダーはモジュールの境界を判別できません。
- 色の反転はNG:多くのリーダーは「明るい背景に暗いモジュール」を前提にしています。暗い背景に明るいモジュール(白黒反転)は読み取れないことが多いので避けます。
- 淡い色同士を避ける:薄いグレー地に薄い色のモジュールなど、明暗差の小さい配色は失敗しやすくなります。
- 紛らわしい色を避ける:赤地に黒など、カメラ側で明暗の区別がつきにくい組み合わせも読み取り率を下げます。
直し方:背景は白(または十分に明るい色)、モジュールは黒(または十分に暗い色)にして、コントラストを最大化します。色を付けたい場合でも、明暗差を確保することが最優先です。
2. クワイエットゾーン(余白)不足
QRコードの四方には、何も置かない余白=クワイエットゾーンが必要です。仕様上、周囲にモジュール4個分以上の余白を確保することが求められています。
- この余白が狭いと、リーダーがコードの範囲(どこからどこまでがコードか)を認識できず、読み取りに失敗します。
- 周囲の文字・枠線・画像・他のコードがコードに接していると、同様に読めなくなります。
直し方:デザインで詰めたくなっても、余白は削らずに確保します。QRコードの外周に、モジュール4個分以上の空白を必ず残してください。
3. 解像度が低い・小さすぎる・印刷のにじみ
1つ1つのモジュールが細かすぎて潰れると、リーダーがマスの区切りを読み取れません。表示・印刷のサイズと解像度が不足しているケースです。
- 小さすぎる:名刺やチラシで小さく載せすぎると、カメラの解像度が足りず読み取れません。読み取り距離に応じた十分な大きさが必要です。
- 解像度不足・拡大ぼやけ:低解像度の画像を無理に拡大すると、モジュールの輪郭がぼやけます。元データは高解像度で用意します。
- 印刷のにじみ・目詰まり:インクのにじみや、白と黒の境界が甘い印刷は、隣り合うモジュールがつながって見えます。
直し方:できるだけ大きく、高解像度で用意します。印刷では、にじまない用紙・設定を選び、コードの白い部分を確実に白く出すことが重要です。
4. 汚れ・破損と誤り訂正レベル
QRコードには誤り訂正機能があり、一部が汚れ・破損・欠けても復元できます。訂正できる量は誤り訂正レベルで決まり、L・M・Q・Hの4段階があります。
| レベル | 復元できる目安 | 特徴 |
|---|---|---|
| L | 約7% | 訂正は最小。同じデータならコードは最も小さくできる |
| M | 約15% | 標準的なバランス。一般用途で広く使われる |
| Q | 約25% | 汚れやすい環境・ロゴ入りに向く |
| H | 約30% | 最も頑丈。ただしコードは大きく(密に)なりがち |
- 汚れ・かすれ・折れがあると、その分だけ訂正の余力を消費します。訂正能力を超えると読めなくなります。
- ロゴで隠しすぎは要注意。誤り訂正で一部は隠せますが、隠せる面積には限界があります。位置検出パターン(三隅の大きな四角)やその周辺は隠してはいけません。
直し方:汚れやすい用途やロゴを重ねる場合は、誤り訂正レベルを高め(Q・H)にします。ただし高くするほどデータが増えてコードが密になるため、サイズとのバランスを取り、実機で確認します。
5. ピント・手ブレ・光の反射や画面の映り込み
コード自体が正しくても、撮影の条件が悪ければ読み取れません。カメラ側の問題は見落とされがちです。
- ピンボケ・手ブレ:近づきすぎ・遠すぎ・動かしながらの撮影はピントが合いません。数秒静止して合焦を待ちます。
- 反射・テカリ:光沢紙やラミネート、ディスプレイのグレア面に光が反射すると、コードの一部が白飛びして読めなくなります。角度を変える・照明を避けると改善します。
- 画面の映り込み・輝度:スマホ画面でQRを表示するときは、映り込みを避け、画面の明るさを上げるとコントラストが確保できます。
- 暗すぎ・逆光:暗所や逆光では明暗差が出ません。明るい均一な光の下で読み取ります。
6. データ量が多くセルが細かすぎる
QRコードは、格納するデータが多いほどモジュール数(バージョン)が増え、1マスが細かくなります。長いURLやテキストを詰め込むと、同じ表示サイズでもモジュールが密になり、読み取りが難しくなります。
- 長いURLは短く:不要なパラメータを削る、短いURLにするなどでデータ量を減らせます。
- 詰め込みすぎない:QRに大量のテキストを直接入れるより、URLを入れて遷移先で情報を出す設計にすると、コードは軽くなります。
- データ量を減らすと同時に、誤り訂正を高くしすぎない(必要十分に抑える)と、モジュールの密度を下げられます。
直し方:データ量を減らし、その分コードの表示サイズを大きく取れば、1マスあたりが読み取りやすくなります。
7. URLの誤り・期限切れ・リンク切れ
「コードは読めているのに開けない」場合、原因は中身のデータ(URL)にあります。スキャン自体は成功しているのに目的のページに着かない、というケースです。
- URLの打ち間違い:手入力で作ったコードは、スペルミスや
httpsの付け忘れで無効なリンクになります。 - 期限切れ・リンク切れ:短縮URLサービスの期限切れ、移動・削除されたページ、公開前のURLなどはアクセスできません。
- 動的QRの停止:転送先を後から変えられる動的QRは、サービスの契約切れや設定変更で無効になることがあります。
直し方:公開前に、コードの中身のURLを実際に開いて確認します。読み取れているのに開けないときは、コードのデザインではなくリンク先を疑ってください。
作る側のコツ — トラブルを防ぐ設計
読み取れないトラブルの多くは、作る段階の配慮で防げます。次の4点を押さえておきましょう。
- 十分な余白:四方にモジュール4個分以上のクワイエットゾーンを確保する。
- 十分なサイズ・コントラスト:読み取り距離に見合う大きさで、明るい背景に暗いモジュール。
- 適切な誤り訂正:汚れやすい用途・ロゴ入りは高め(Q/H)、そうでなければ標準(M)を目安に、密度とのバランスを取る。
- 実機で検証:完成品(印刷物・画面)を、実際のスマホ・複数機種で読み取り確認してから公開する。
よくある質問(FAQ)
白黒を反転したQRコード(暗い背景に明るいコード)でも読み取れますか?
多くのリーダーは「明るい背景に暗いモジュール」という前提で設計されているため、色を反転した(暗い背景に明るいモジュールの)QRコードは読み取れないことがよくあります。確実に読ませたい場合は、明るい(できれば白)背景に暗い(できれば黒)モジュールという標準的な配色にし、背景とモジュールのコントラストを十分に確保してください。淡い色同士や、赤地に黒のような判別しにくい組み合わせも避けます。
QRコードの周りの余白(クワイエットゾーン)はどれくらい必要ですか?
QRコードの四方には、モジュール(セル)4個分以上の何もない余白(クワイエットゾーン)が必要とされています。この余白が狭かったり、周囲の文字・枠線・画像がコードに接していたりすると、リーダーがコードの範囲を認識できず読み取りに失敗します。デザインで詰めたくなっても、余白は削らずに確保してください。
QRコードの中央にロゴを入れても読み取れますか?
誤り訂正機能によって、一部が隠れても復元できるため、中央に小さなロゴを入れることは可能です。ただし隠せる面積には限界があり、隠しすぎると読み取れなくなります。ロゴを入れるときは誤り訂正レベルを高め(QやH)にし、位置検出パターン(三隅の四角)やその周辺は隠さず、実機で必ず読み取り確認をしてください。