QRコードを編んでみた——手編みで読み取れるか検証
【読了時間:約10分 / 要約のみなら3分】
この記事で分かること(3行まとめ)
- 手編みでQRコードを作ると、ちゃんとスマホで読み取れる
- ファインダーパターンを正確に編むことが最重要。ここが崩れると認識すらされない
- 1セル「2目×2段」で歪みが均一化し、認識率が安定する
「QRコードって、編み物で作れるのかな?」
ふと思いついたこの疑問から、私のちょっと変わったプロジェクトが始まりました。
結論から言うと、ちゃんと読み取れました。
実際に編んだQRコード。スマホで読み取れる
この記事では、実際にQRコードを編んでみてわかったこと、コツや失敗談を共有します。
結論:読み取れる。ただし条件あり
手編みのQRコードは、以下の条件を満たせば読み取れます。
| 条件 | 推奨値 | 理由 |
|---|---|---|
| 誤り訂正レベル | M以上推奨 | 編み目の歪みをカバー |
| 1セルの編み目数 | 2目×2段以上 | 歪みが均一化して安定 |
| 色 | 黒と白 | コントラストが重要 |
| 表面 | フラット | モコモコNG |
冒頭の写真はレベルMで作成しており、問題なく読み取れています。Lレベルでも読み取りは確認済みですが、余裕を持たせるならM以上がおすすめです。
【動機】なぜQRコードを編もうと思ったのか
2023年夏、X(Twitter)で高専生が黒板にチョークでQRコードを書いて自力でデコードしている投稿がプチ話題になりました。
手書きのQRコードが認識されること自体は知っていましたが、改めて見ると「QRコードの認識率ってすごい!」と素直に驚きました。
当時(今もですが)、私は編み物にハマっていました。毎日仕事から帰ると、動画配信を見ながら編み物を編み続けるほどに。
「手書きで認識できるなら、編み物でも認識されるんじゃないか」
——そう思いつくのに時間はかかりませんでした。
【準備】編む前に決めること
1. QRコードの中身を決める
まず、QRコードに何を入れるか決めます。
私の場合は、megusunuのInstagramのURL(編み物やmegusunuLabの活動ログで運用中)にしました。
https://www.instagram.com/megusunu/
URLが短いほど、QRコードも小さくなります。短縮URLを使うのもアリですが、サービス終了リスクがあるので注意。
2. 誤り訂正レベルを選ぶ
QRコードには4段階の誤り訂正レベルがあります。
| レベル | 訂正可能なコードワード | 編み物向け? |
|---|---|---|
| L | 約7% | △ 読めるがファインダーパターン次第 |
| M | 約15% | ○ 実用レベル |
| Q | 約25% | ◎ 余裕あり |
| H | 約30% | ◎ 最も安定 |
編み物では、どうしても編み目の歪みや糸のズレが発生します。
冒頭の写真は誤り訂正レベルMで作成しており、問題なく読み取れています。より安定性を求めるならQやHを選ぶとよいでしょう。
ただし、どの誤り訂正レベルでもファインダーパターンが正しく認識されなければ読み取れません。レベル選びよりも、ファインダーパターンの精度が認識率を左右します。
⚠️ 注意:「面積の30%」ではない
よく「30%まで汚れても大丈夫」と言われますが、これはQRコードの面積の30%が汚れてもOKという意味ではありません。
デンソーウェーブの公式解説によると、この30%は「コードワード(データを構成する単位)に対する復元率」です。誤り訂正はRSブロックという単位で行われるため、損傷が局所的に集中すると、面積的には小さな汚れでも読み取れなくなることがあります。
QR WORLDの実験でも、誤り訂正レベルQのQRコードが25%ではなく20%の欠損で読み取れなくなったケースが報告されています。
3. セルサイズと編み目の数を決める
QRコードの最小単位を「セル」と呼びます(JIS規格では「モジュール」が正式名称)。
重要なのは物理的なサイズよりも、1セルあたりの編み目の数です。太い毛糸でセルを大きくしても、1目×1段だと編み目の歪みがそのままセルの歪みになってしまいます。1目×1段でも読めはしましたが、認識率はかなり下がりました。
私は2目×2段を1セルとして編みました。こうすると、編み目による歪みが均一化されて、1セルとしての認識率が上がります。
バージョンとサイズの関係
ただし、バージョン1・レベルHにはごく短いデータ(8ビットバイトモードで7バイト)しか入りません。上記のURL(35文字)を入れる場合はバージョンが上がるため、実際にはもう少し大きくなります。
私が実際に作ったQRコードは、バージョン3(29×29セル)で約25cm四方になりました。
【実践】実際に編んでみる
使った道具
- 毛糸: ウール(並太)、黒と白——毛羽立ちが少なく伸縮性がある。コットンも候補だったが、伸縮性が少なく目がはっきりしすぎると考えて見送った
- 棒針: 8号
- QRコードを拡大印刷した用紙: 編み図として使用
編み方のポイント
1. メリアス編みでフラットに
私はメリアス編み(表目のみ) で編みました。
編み目が詰まって表面がフラットになり、QRコードのセルがくっきり出ます。ガーター編みだと凹凸ができて認識しにくくなります。
2. 色変えは糸を切らない
頻繁に色が変わるので、毎回糸を切っていると大変です。
使わない色の糸は編み地の中に渡して、必要なときに引き出す方法がおすすめ。ただし、渡り糸が長くなりすぎると表に響くので注意。
3. ファインダーパターンを丁寧に——ここが最重要
QRコードの3つの角にある大きな四角(ファインダーパターン)は、位置検出に使われる最も重要な部分です。
リーダーはまずこのパターンを見つけて「これはQRコードだ」と認識します。ファインダーパターンが認識されなければ、そもそも誤り訂正の計算にすらたどり着きません。
どの方向から見ても 1:1:3:1:1 の比率になる。この比率が崩れると認識されない
1:1:3:1:1の比率で黒と白が並んでおり、これがどの角度からでも同じパターンとして認識されます(仕組みの詳細はこちら)。編み物では端が丸まったり歪んだりしやすいので、ファインダーパターンの部分はとくに丁寧に、比率が崩れないように編むことが大切です。
よくある失敗
失敗1: 編み目がゆがむ
四角く編んでいるつもりでも、テンションが変わり歪んでいく……。
対策: 同じテンション・同じリズムで編む。
失敗2: 色のコントラストが弱い
「グレーと白」「紺と黒」など、コントラストが弱い組み合わせは認識されにくいです。
対策: 黒と白、または黒と鮮やかな色(黄色など)を使う。
失敗3: 表面がモコモコ
起毛タイプの糸を使うと、表面がぼやけて認識困難に。
対策: ウールやコットンなど、表面がフラットな糸を選ぶ。
失敗4: 色の切り替えを間違えてやり直しを繰り返す
色の切り替えを間違えるたびにほどいてやり直していると、いつまでも編み上がりません。
対策: やり直して編み上がらないより、多少の失敗は誤り訂正に任せて編み上げましょう。ファインダーパターンさえ正しく読み取れれば、データ部分の多少のミスはカバーできます。ただし、ファインダーパターンだけは間違わないように!
【検証】実際に読み取ってみた
完成した編みQRコードをスマホで読み取ってみます。
リーダーアプリの選び方
スマホの標準カメラでQRコードを読み取れますが、編み物のように歪みのあるQRコードだと認識しないことがあります。これはリーダー自体の精度の問題で、QRコードが壊れているわけではありません。
おすすめは、QRコードの開発元であるデンソーウェーブの読み取りエンジンを搭載したクルクル - QRコードリーダー(無料)です。標準カメラで読めなくても、クルクルなら読めるケースがありました。
テスト環境
- iPhone 12 Pro / iPhone 16 Pro(標準カメラアプリ)
- クルクル - QRコードリーダー(デンソーウェーブ公式)
結果
すべての環境で読み取り成功!
ただし、以下の条件で認識率が変わりました。
| 条件 | 認識率 |
|---|---|
| 明るい場所・正面から | ◎ ほぼ100% |
| 暗い場所 | △ 時々失敗 |
| 斜めから | ○ 問題なし |
| 丸まった状態 | △ 伸ばすとOK |
QRコードの「斜めでも読める」という特性は、編み物でもちゃんと機能していました。
※結果は端末・照明条件・毛糸の素材によって異なる可能性があります。
最初は認識しなかった
実は、編み上がった直後は認識が安定しませんでした。
編み物は端が丸まる性質があり、そのままでは歪みが大きすぎて読み取れなかったのです。
解決策: 方眼マットの上にピンで固定し、ファインダーパターンが正方形になるように引っ張って調整しました。
この「固定して平らにする」工程を経て、ようやく安定して認識されるようになりました。
【時間がない方へ】 基本編はここまで。要点だけ知りたい方は「まとめ」へどうぞ。以下の深掘り編は、時間のある時にじっくりお読みください。
【深掘り】なぜ編み物と誤り訂正は相性が良いのか
ここからは、技術的な深掘りです。
RSブロックと損傷の分布
QRコードの誤り訂正は、RSブロック(リード・ソロモンブロック) という単位で行われます。
メディアシーク社の解説によると、QRコードのデータは複数のRSブロックに分割されており、ブロックごとに独立して誤り訂正が行われます。
つまり、損傷が1つのRSブロックに集中すると、そのブロックだけで訂正限界を超えて読み取り不可になることがあります。面積的には小さな汚れでも、局所的に集中していればアウトです。
編み目の歪みは「均一に分布」する
ここが面白いポイントです。
編み物の場合、編み目の歪みや糸のズレはコード全体に均一に分布します。局所的に大きく崩れることは少ない。
これは、RSブロック単位の誤り訂正とは相性が良いと考えられます。
各RSブロックに少しずつ誤差が分散されるため、どのブロックも訂正限界を超えにくいのです。
逆に相性が悪いケース
一方、以下のようなケースは編み物でも読み取りにくくなります。
- ファインダーパターン周辺だけ大きく崩れた → 位置検出に失敗
- 1箇所だけ糸が切れた・結び目ができた → 局所的な損傷
- 端だけ縮んだ → RSブロックの偏り
実際、私も「端だけきつく編んでしまった」作品は認識率が下がりました。
【深掘り】誤り訂正レベルの実験
「本当に誤り訂正レベルで差が出るのか?」
気になったので、同じURLで誤り訂正レベルを変えて編み、比較してみました。
実験条件
- URL:
https://www.instagram.com/megusunu/ - 毛糸: ウール並太(黒・白)
- セルサイズ: 2目×2段(1cm弱)
- 端末: iPhone 12 Pro、Pixel 7(2026年2月現在、iPhone 16 Proでも確認済み)
実験結果
| レベル | 編み目の乱れ許容度 | 認識結果 |
|---|---|---|
| L(7%) | 少しの乱れまで | 成功(ファインダーパターン次第) |
| M(15%) | わずかな乱れまで | 成功(ギリギリ) |
| Q(25%) | ある程度の乱れ | 成功 |
| H(30%) | かなりの乱れ | 成功(安定) |
Lでも読み取りは可能ですが、余裕を持たせるならM以上が推奨です。ただし、どのレベルでもファインダーパターンを1:1:3:1:1の比率で正確に編むことが最も重要です。
【深掘り】1セルあたりの編み目数と認識率
本文でも触れましたが、セルの物理的なサイズよりも1セルあたりの編み目数が認識率を大きく左右します。
| 1セルの編み目数 | 認識率 | 備考 |
|---|---|---|
| 1目×1段 | △ | 読めるが認識率が低い。ファインダーパターンの精度が特に重要 |
| 2目×2段 | ○ | 歪みが均一化し、安定して認識 |
| 3目×3段以上 | ◎ | 余裕あり。ただしQRコード全体が大きくなる |
1目×1段だと、編み目1つの歪みがそのまま1セルの歪みになってしまいます。2目×2段にすることで、個々の編み目の歪みが平均化され、1セルとしての形状が安定します。
物理的なサイズは使う毛糸や針の太さで変わるため、「何mmが限界か」よりも「1セルに何目入れるか」で考えるのがポイントです。
【深掘り】黒以外の色でも読み取れる?
QRコードは「黒と白」のイメージがありますが、実際には**背景と印字の明度差(コントラスト)**があれば認識できます。
クルクル公式ブログの検証によると、黄色や黄緑など白に近い明度の色は読み取りにくく、青や紺など暗めの色は比較的安定して読み取れるとのことです。
実際に編み物でも、黄色と紺、黄色と濃い紫の配色でQRコードとして認識されることを確認しています。黒と白に限らず、明暗がはっきりした組み合わせなら読み取れます。
よくある質問
Q. 編んだQRコードは本当に読み取れる?
A. 読み取れます。 ただし推奨する条件があります。1セルあたり2目×2段以上、誤り訂正レベルはM以上、明暗のコントラストをはっきりさせることが重要です。それ以下になると認識率が下がり、精度の良いリーダーで稀に読める程度になります。
Q. 何の毛糸を使えばいい?
A. 毛羽立ちが少なく伸縮性のあるウール糸がおすすめです。 コットンも候補ですが、伸縮性が少なく目がはっきりしすぎる面があります。起毛タイプの糸は表面がぼやけて認識困難になるので避けましょう。明暗のコントラストが強い2色の組み合わせを選んでください。
Q. どのくらいの大きさで編めばいい?
A. 物理的なサイズよりも、1セルあたりの編み目数が重要です。 2目×2段を1セルとすると歪みが均一化して認識率が上がります。URLを入れる場合は20〜25cm四方程度になることが多いです。
Q. 誤り訂正レベルはどれを選べばいい?
A. M以上を選んでください。 筆者はMレベルで読み取りに成功しています。安定性を重視するならQやHがおすすめです。レベルが高いほどデータ容量は減りますが、短いURLなら十分入ります。
まとめ
手編みでQRコードを作る挑戦、やってみてわかったことをまとめます。
成功のポイント
- ファインダーパターンを正確に: ここが崩れるとQRコードとして認識すらされない
- 1セル2目×2段以上: 歪みが均一化して認識率が安定する
- 誤り訂正レベルM以上: 編み目の歪みをカバー(Lでも読めるが余裕は少ない)
- コントラストの強い色: 黒と白がベスト。黄色×紺など明暗差があればOK
- 毛羽立ちの少ない糸: ウールがおすすめ。起毛タイプはNG
技術的に面白かったこと
- ファインダーパターンが最優先: 誤り訂正の前に、まずQRコードとして認識される必要がある
- 誤り訂正はRSブロック単位: 局所的な損傷に弱い
- 編み目の歪みは均一に分布: だからRSブロックと相性が良い
「QRコードを編む」というニッチな挑戦でしたが、技術の仕組みを体で理解する良い経験になりました。
詳しくは技術書で!
この記事では概要をお伝えしましたが、より詳しい内容は技術同人誌『QRコードを編む』にまとめています。
本に書いていること
- QRコードの詳細な仕様解説
- 編み図の作り方(実際の編み図付き)
- 失敗例とその原因分析
なお、刺繍やビーズでもQRコードを作って読み取れることを確認しています。こちらは書籍には未収録ですが、気になる方は X (Twitter) @megusunu までどうぞ。
購入はこちら
📚 『QRコードを編む』 megusunu 著
本に関するお問い合わせは X (Twitter) @megusunu まで。
参考情報
関連記事
- QRコードはなぜ斜めでも読めるのか? - 技術的な仕組みを詳しく解説
- QRコードはなぜ無料なのか? - デンソーウェーブのフリーミアム戦略
- 技術書典に初出展してみた - 本を出すまでの過程
関連書籍
QRコードの仕組みをより深く知りたい方におすすめの書籍です。
- 『QRコードの奇跡』 小川進 著(東洋経済新報社)——開発者への取材をもとに、QRコードの誕生から世界標準になるまでの物語を描いた一冊
- 『QRコードのおはなし』 標準化研究学会 編(日本規格協会)——技術仕様の解説書。用語集も収録
参考URL
デンソーウェーブ公式
技術解説
QRコード生成ツール
※「QRコード」は株式会社デンソーウェーブの登録商標です