QRコードは、URLや文字列を2次元のマトリクスに記録するコード。仕組み、誤り訂正、容量、静的/動的の違い、作成手順、サイズ・余白の目安、セキュリティ対策を実務目線で解説。
この記事のポイント
- まずは「構造・容量・誤り訂正」を理解
- 使い分けは「静的 vs 動的」が基本軸
- 読み取りやすさは「サイズ」「余白」「コントラスト」で決まる
- セキュリティは“貼られているQRを疑う”が第一歩
QRコードの基本
QRコードは、白黒の小さな四角(モジュール)で情報を表現する2次元コードです。URL、テキスト、名刺情報、決済情報などを埋め込め、スマホのカメラやアプリで瞬時に読み取れます。
構造のざっくり図解
- 位置検出パターン:3つの大きな四角で向き・位置を特定
- 整列パターン:歪み補正
- フォーマット・バージョン情報:誤り訂正やマスクの指定
- データ領域:実際のデータが入る部分
バージョンと容量(目安)
- バージョン1~40(最小21×21マス、以後4マス刻みで拡大)
- 最大格納量の目安
- 数字:約7,089桁
- 英数字:約4,296文字
- バイト:約2,953バイト
- 漢字:約1,817文字
※実際は誤り訂正やマスクで前後します。
誤り訂正レベル
- L/M/Q/H(約7/15/25/30%の欠損を復元可能)
- ロゴを載せる、屋外で汚れやすい等はQ/Hを選ぶと安心。
種類と使い分け
- モデル2:現在主流の標準規格。迷ったらこれ。
- マイクロQR:小面積向け。データ量が少ない用途に。
- デザインQR / フレームQR:ロゴや装飾を重視。誤り訂正を上げ、実機で入念にテスト。
静的QRと動的QRの違い
| 種別 | 中身 | メリット | デメリット | 向いている用途 |
|---|---|---|---|---|
| 静的 | 直接URL・テキスト | 低コスト・寿命が長い | 内容の変更不可、解析が困難 | 配布済みチラシ、店頭POP、名刺など |
| 動的 | リンク先を中継(短縮URL等) | 後から遷移先変更可、アクセス解析可 | 中継先の運用が必要 | キャンペーンLP、季節商品、効果測定 |
読み取りやすさを左右する3条件
- サイズ
- 印刷:辺2cm以上が最低目安。読み取り距離×0.1〜0.2程度を基準に拡大。
- 屋外ポスターや高密度コードは余裕を持って大型化。
- 余白(クワイエットゾーン)
- 最低4モジュールを確保。背景の模様や文字が入り込まないように。
- コントラスト
- 暗色(前景)×明色(背景)。光沢紙やガラス面は反射で読みにくくなるため要テスト。
実務TIP:URLは短縮・正規化してデータ量を減らすと、コードが“粗く”なり読み取り精度が上がることが多いです。
用途別・推奨設定サンプル
- 名刺のプロフィール:静的/誤り訂正M/短縮URL
- 店頭ポップ(期間限定):動的/誤り訂正Q~H/大きめサイズ+十分な余白
- チケット・入場管理:動的(発行ID連携)/誤り訂正M~Q/固有ID+有効期限
- 屋外ポスター:静的 or 動的/誤り訂正Q~H/高コントラスト+反射対策
作り方(かんたん手順)
- 目的整理:静的or動的、解析の要否、運用期間。
- データ準備:URLを短く・表記を統一。
- 生成:誤り訂正・バージョン自動・マージンを設定して出力(SVG/PNG)。
- 検証:iOS/Android、複数アプリ、印刷紙でテスト。
- 公開:印刷やWebに組み込み。運用で解析やABテストを回す(動的の場合)。
すぐ試せるコード例(ローカル用)
Python(Pillow版)
# pip install qrcode[pil]
import qrcode
img = qrcode.make("https://example.com/campaign/2025")
img.save("qr_example.png")
JavaScript(ブラウザ)
<!-- npmのqrcodeやCDN版を利用 -->
<canvas id="qrc"></canvas>
<script src="https://unpkg.com/qrcode/build/qrcode.min.js"></script>
<script>
QRCode.toCanvas(
document.getElementById('qrc'),
'https://example.com/campaign/2025',
{ errorCorrectionLevel: 'M', margin: 4 },
(err) => { if (err) console.error(err); }
);
</script>
ありがちな失敗と回避策
- 余白が足りない/背景がうるさい → 4モジュール以上の余白、無地背景に。
- 高密度で潰れる → データを短縮、誤り訂正を下げる、印刷サイズを拡大。
- ロゴで壊れる → 誤り訂正Q/H+ロゴ面積を抑える+実機テスト。
- リンク切れ(動的) → 中継サービスの監視・更新フローを用意。
- 追跡のしすぎ → プライバシーポリシーに明記、適切な同意管理。
セキュリティとリスク対策
- 見知らぬ場所に貼られたQRは鵜呑みにしない(上から偽のQRを貼る“置き換え”がある)。
- 読み取りアプリでURLプレビューを確認、不審なら開かない。
- 決済用は正規アプリ内QRのみ使用。
- 企業側はHTTPS必須、短縮URLは人間可読なドメインで信頼性を担保。
導入チェックリスト
- [ ] 静的/動的を選定した
- [ ] URLを短縮・統一した
- [ ] 誤り訂正と余白を設定した
- [ ] iOS/Android・複数機種で検証した
- [ ] 印刷サイズと設置距離のバランスを確認した
- [ ] セキュリティと運用フローを整備した
よくある質問(FAQ)
Q1. 最低サイズは?
A. 屋内の手持ち読みなら辺2cm以上を目安。距離が伸びるほど比例して拡大します。
Q2. ロゴを入れても平気?
A. 可能です。誤り訂正Q/Hに上げ、ロゴ面積を抑え、必ず実機テストを。
Q3. どの画像形式で書き出す?
A. 印刷はSVG(ベクター)推奨。汎用性重視ならPNG。WebならSVGがシャープです。
Q4. 解析はできますか?
A. 動的QRなら中継URL側でクリック数やデバイスなどの計測が可能です。
まとめ
QRコード活用の鍵は目的に応じた設計(静的/動的)と、読み取り品質(サイズ・余白・コントラスト)、そして安全性の担保です。ここを押さえれば、名刺から屋外広告、チケット運用まで幅広く“失敗しない”導入ができます。


コメント