QRコードとは?仕組み、構造、広く使われる理由を解説
QRコードはURL、決済、チケット、Wi-Fi設定、在庫管理などで使われる2次元コードです。小さな白黒のマスがどうデータを表し、なぜ多少汚れても読み取れるのかを整理します。
目次
QRコードとは?
QRコードはQuick Response Codeの略で、データを白黒の小さな正方形、つまりmodulesの並びとして表す2次元バーコードです。従来の1D barcodeより多くの情報を格納でき、スマートフォンのカメラでも読み取りやすいことが特徴です。
QRコード自体はただのデータ表現です。URLを入れればWebページへ誘導でき、テキスト、連絡先、Wi-Fi情報、決済情報、チケットIDなども格納できます。
QRコードの歴史
QRコードは1994年にデンソーウェーブが開発しました。当初は自動車部品の管理を効率化するための技術でしたが、読み取り速度、容量、error correctionの強さから、物流、広告、決済、認証など幅広い分野へ広がりました。
QRコードの構造
Finder Patterns
3つの大きな四角形。カメラがQRコードの位置、向き、サイズを見つけるために使う。
Alignment Patterns
大きいQRコードで歪みや傾きを補正するための小さな目印。
Timing Patterns
白黒が交互に並ぶ線。各moduleの座標を読み取るために使う。
Format Information
error correction levelとmask patternを示す情報。
Version Information
version 7以上で使われ、QRコードのサイズ情報を伝える。
Data & Error Correction Area
実際のデータとReed-Solomon error correction codewordsを格納する領域。
Quiet Zone
QRコード周囲の余白。最低4 modules分が推奨される。
データ符号化の仕組み
QRコードは入力内容に応じて、Numeric、Alphanumeric、Byte、Kanjiなどのmodeを選びます。効率の良いmodeを使うほど、同じサイズでも多くのデータを入れられます。
| Mode | 扱う文字 | 効率 | 用途例 |
|---|---|---|---|
| Numeric | 0-9 | 高い | 数字だけのIDや電話番号 |
| Alphanumeric | 0-9、A-Z、一部記号 | 高い | 短いコードや英数字URL |
| Byte | UTF-8などのバイト列 | 標準 | URL、日本語を含む文章、任意テキスト |
| Kanji | Shift JISの漢字 | 用途限定 | 日本語向けだが現在はByte modeが使われることも多い |
Error correctionの役割
QRコードはReed-Solomon error correctionにより、一部が汚れたり欠けたりしても読み取れる場合があります。補正レベルを高くすると復元力は上がりますが、同じサイズに入るデータ量は減ります。
| Level | 復元目安 | 向く用途 |
|---|---|---|
| L | 約7% | きれいに印刷され、損傷しにくい用途 |
| M | 約15% | 一般的な用途のバランス型 |
| Q | 約25% | 少し汚れや擦れが想定される印刷物 |
| H | 約30% | ロゴ入りQRや損傷リスクが高い用途 |
バージョンと容量
QRコードにはversion 1から40までがあり、versionが上がるほどマトリクスが大きくなります。version 1は21 x 21 modules、以後1段階ごとに縦横4 modulesずつ増えます。容量はmode、error correction level、文字種によって変わります。
QRコードと従来のバーコード
| 観点 | QRコード | 1D barcode |
|---|---|---|
| 形状 | 二次元の正方形マトリクス | 一次元の線と空白 |
| 情報量 | URL、文章、連絡先など多くの情報を入れられる | 商品番号や短いID向き |
| 読み取り方向 | 回転していても読み取れる | 基本的に線を横切る方向で読む |
| 損傷耐性 | error correctionで一部の損傷を復元できる | check digitで誤読検出はできるが復元は限定的 |
QRコードに入れられる内容
- URL、メールアドレス、電話番号、SMS
- Wi-Fi接続情報、連絡先、カレンダー予定
- 決済情報、チケットID、クーポンコード
- 短いテキスト、在庫ID、配送番号
Static QRとDynamic QR
Static QRは、URLやテキストを直接QRコード内に入れる方式です。作成後に内容は変えられません。Dynamic QRは短いリダイレクトURLを入れ、サーバー側で遷移先を変更できる方式です。計測や差し替えには便利ですが、サービス停止や追跡のリスクも考える必要があります。
実際の用途
QRコードは、メニュー表示、非接触決済、イベント入場、配送追跡、製造現場の部品管理、ログイン認証、印刷物からWebへの誘導などで広く使われています。
安全性の注意点
QRコードは見た目だけでは遷移先が分かりにくいため、フィッシングや偽決済ページへの誘導に使われることがあります。読み取ったURLを確認し、不審な短縮URLや貼り替えられたステッカーには注意しましょう。
読み取りやすいQRコードの作り方
- 背景とコードのコントラストを高くする。
- 周囲に十分なquiet zoneを残す。
- 小さすぎる印刷サイズを避ける。
- ロゴを入れる場合はerror correction levelを高め、実機でテストする。
- 長いURLは短くし、必要以上に密なQRコードにしない。
- 公開前に複数のスマートフォンと照明条件で読み取り確認する。