RunToolz iconRunToolz
Welcome to RunToolz!
QRコード技術詳細解説

QRコードのエラー訂正:傷ついたQRコードが読める理由

QRコードが傷、ロゴ、汚れに耐える仕組み。L・M・Q・Hエラー訂正レベルの詳細解説。

RunToolz Team2026年1月14日6 min read

企業ロゴが真ん中にどーんと配置されたQRコードを見たことがあるでしょう。コードの一部が文字通り隠されています。それでもスキャンすると完璧に動きます。

偶然ではありません。エラー訂正が仕事をしているのです。

QRコードが損傷を処理する方法

QRコードはリード・ソロモン符号というエラー訂正を使用します。CD、DVD、深宇宙通信でも使われている同じ数学です。考え方:余分な冗長データを格納し、部分的に欠損・損傷していても元のメッセージを復元できるようにします。

QRコードが生成されるとき、データはエラー訂正コードワードと一緒にエンコードされます。このコードワードには、コードの一部が読めなくても元のデータを復元するのに十分な情報が含まれています。

4つのエラー訂正レベル

すべてのQRコードは4つのエラー訂正レベルのいずれかを使用します:

| レベル | 復元能力 | 最適な用途 | |--------|---------|-----------| | L(低) | 約7%の損傷 | デジタル画面、清潔な環境 | | M(中) | 約15%の損傷 | 汎用、デフォルトの選択 | | Q(四分位) | 約25%の損傷 | 印刷物、中程度の摩耗 | | H(高) | 約30%の損傷 | 過酷な環境、ロゴのオーバーレイ |

ここでの「損傷」とは、コードが正常にスキャンできる状態で読み取り不能なコードワードの割合を意味します。

実際に試してみませんか?QRコードを生成

トレードオフ:訂正 vs サイズ

エラー訂正が多いほど冗長データも多くなります。データが多いほどQRコードは複雑(大きく)なります。実際にはこうなります:

同じ内容でも、Hレベルのエラー訂正が適用されたQRコードはLレベルよりも明らかに多くのモジュール(小さな四角)を持ちます。コードがより密になり、遠くからのスキャンが難しくなります。

Lレベル: 最も小さくシンプルなQRコード。遠くからスキャンしやすい。保護は最小。

Mレベル: バランスが良い。ほとんどのジェネレーターのデフォルト。通常の摩耗に対応。

Qレベル: かなり密。折り曲げ、汚れ、部分的な覆いがある印刷物に適している。

Hレベル: 最大密度。深刻な損傷に耐えられる。中央にロゴを入れるなら必須。

QRコード内のロゴが機能する理由

QRコードの中央にロゴを配置すると、事実上コードを「損傷」させています——それらのモジュールを読み取り不能にしているのです。エラー訂正アルゴリズムがロゴを損傷データとして扱い、残りのモジュールから欠落した情報を復元します。

これはHレベル(時々Qレベル)のエラー訂正でのみ確実に機能します。Lレベルでは、コードの8%を覆うだけでスキャン不能になる可能性があります。

ロゴ配置のガイドライン:

  • Hレベルのエラー訂正を使用
  • ロゴはQRコード面積の約15-20%に抑える
  • ロゴを中央に配置(QRコードは角に重要な位置決めパターンがある)
  • シンプルでコントラストの高いロゴを使用
  • 複数のスキャナーで最終コードを必ずテスト

どのレベルを使うべきか?

デジタルディスプレイ(ウェブサイト、アプリ、画面): LまたはMレベル。物理的な損傷はないので、小さなコードの方がスキャンしやすい。

名刺やチラシ: Mレベル。軽微な摩耗に対する標準的な保護。

製品パッケージ: Qレベル。製品は取り扱われ、傷つき、環境にさらされる。

屋外看板や過酷な環境: Hレベル。天候、汚れ、物理的損傷に対する最大の耐性。

ロゴ入りQRコード: Hレベル。迷いなく。覆われた領域を補うために余分な冗長性が必要。

クワイエットゾーンも重要

エラー訂正はコード自体の損傷を処理しますが、QRコードには「クワイエットゾーン」——コード周囲の空白マージン——も必要です。これがないとスキャナーはコードの開始位置と終了位置を見つけられません。

標準では4モジュール幅のクワイエットゾーンが要求されています。これを省略することがQRコード失敗の最も一般的な原因で、どれだけエラー訂正があっても解決できません。

実際に試してみませんか?バーコードを生成

エラー訂正はQRコードを現実世界で実用的にするものです。用途に合ったレベルを選びましょう——ほとんどの場面でMレベル、ロゴや最大耐久性が必要ならHレベル——そして印刷前に必ず実際のスキャナーでテストしてください。