本文へスキップ
totonoe
雑学・読み物

QRコードはなぜ一部が欠けても読めるのか──誤り訂正の仕組み

QRコードは角が汚れていても、中央にロゴを重ねていても読み取れます。これは「誤り訂正」という仕組みが、失われたデータを数学的に復元しているためです。ファインダーパターンの役割、L/M/Q/Hの違い、余白4マスの意味まで、読み取りの裏側を整理します。

名刺やチラシに印刷されたQRコードの一部が汚れていたり、真ん中に会社のロゴが重なっていたりしても、スマホのカメラを向けると普通に読み取れることがあります。「なんで欠けているのに読めるの?」と不思議に思ったことはないでしょうか。

これは偶然でも運でもありません。QRコードにはあらかじめ「壊れる前提」で作られた仕組みが組み込まれているからです。

結論を先に書きます。

QRコードには誤り訂正機能があり、設定次第で最大約30%が欠けても元のデータを復元できます。ロゴを中央に重ねられるのも、この仕組みを利用しているからです。


まず3つの角にある「ファインダーパターン」

QRコードをよく見ると、左上・右上・左下の3箇所に、二重の四角い模様があります。これがファインダーパターンです。

この模様の役割は、QRコードがどこにあり、どちらの向きなのかをカメラに教えることです。3つの角に同じ形を置くことで、コードが回転していても、斜めから撮影しても、読み取り機は「上下左右」を瞬時に判定できます。右下だけ模様がないのは、「読み取り開始の基準点」として3点あれば向きが一意に決まるためです。

つまりQRコードは、まず自分の位置と向きを名乗ってから、中身のデータを読ませるという構造になっています。

誤り訂正レベル L/M/Q/H──最大30%を復元できる

QRコードの本体には、実際のデータ(URLや文字列)に加えて、誤り訂正用の冗長データがあらかじめ埋め込まれています。これは「リード・ソロモン符号」という数学的な仕組みで、一部が読めなくても、残りの情報から元のデータを逆算で復元できるようにしたものです。

誤り訂正のレベルは4段階から選べます。

レベル復元できる割合主な用途
L(Low)約7%データ量を優先したいとき
M(Medium)約15%標準・迷ったらこれ
Q(Quartile)約25%汚れやすい環境(屋外・工場など)
H(High)約30%ロゴを重ねる、傷つきやすい用途

レベルを上げるほど復元力は高まりますが、その分同じデータ量でもコードの見た目(モジュール数)が増えて密になります。「絶対に読み間違えたくない」場面ではHを選び、「できるだけシンプルな見た目にしたい」場面ではLやMを選ぶ、というトレードオフです。

ロゴ入りQRコードが読める理由

中央に企業ロゴを重ねたQRコードをよく見かけますが、これは特別な技術ではなく、誤り訂正レベルH(最大約30%復元)を利用して、意図的にロゴの分だけ「欠損」させているだけです。

ロゴが隠す面積が誤り訂正の許容範囲(約30%)に収まっていれば、読み取り機はロゴの下にあるはずだったデータを、残り70%の情報から数学的に復元して正しく読み取ります。逆に言えば、ロゴを大きくしすぎたり、複数箇所に模様を入れすぎたりすると、復元の限界を超えて読み取れなくなるということです。ロゴ入りQRを作るときは、中央付近の一箇所に留め、レベルHで生成するのが安全です。

余白(クワイエットゾーン)4マスの意味

QRコードの周囲には、何もない白い余白が必要です。これをクワイエットゾーンと呼び、規格上最低4モジュール分(QRコードの最小マス目4つ分) の余白を確保することが定められています。

この余白がないと、読み取り機がファインダーパターンを背景の模様と誤認してしまい、「QRコードがどこからどこまでか」を正しく認識できなくなります。デザイン上、QRコードを他の要素とぎりぎりまで詰めたくなりますが、周囲4マス分は必ず空けるのが読み取り成功率を保つ最低条件です。

「QRコードは暗号ではない」という注意点

ここまでの仕組みは「壊れても読める」ための工夫であって、「中身を秘密にする」ための仕組みではありません。QRコードの誤り訂正やファインダーパターンはデータの保護(暗号化)とは無関係で、専用の無料ツールを使えば誰でも中身の文字列やURLをそのまま読み取れます。

Wi-FiのパスワードやログインURLなど、他人に見られたくない情報をQRコードにする場合は、QRコード自体には暗号化機能がないことを前提に、配布範囲や掲示場所に注意してください。


自分でQRコードを作るときの目安

用途おすすめレベル
標準的なURL・テキスト共有M
屋外掲示・汚れやすい場所Q
中央にロゴを重ねたいH

実際に自分でQRコードを生成しながら誤り訂正レベルの違いを試したい場合は、QRコードを整える でテキストやURL、Wi-Fi情報からブラウザ内で生成できます。レベルを変えて見た目の密度を比較しながら、用途に合った設定を選んでみてください。


まとめ

  • QRコードの3つの角にあるファインダーパターンが、位置と向きを読み取り機に伝えている
  • 誤り訂正レベルL/M/Q/Hにより、最大でH=約30%の欠損まで元データを復元できる
  • ロゴ入りQRは、レベルHの復元力を使ってロゴ部分の欠損を意図的に補っている
  • 周囲の余白(クワイエットゾーン)は最低4マス分必要。詰めすぎると読み取れなくなる
  • QRコードは暗号ではない。秘密にしたい情報の掲示場所には注意する
  • 実際に作って試すなら**QRコードを整える**

QRコードの「多少欠けても読める」という性質は魔法ではなく、あらかじめ組み込まれた数学的な冗長性の賜物です。仕組みを知っておくと、デザインとの兼ね合いも安心して判断できます。

KOINOBORI ECOSYSTEM

私たちが運営するサイト