世界を動かす技術を、日本語で。

手描きのQRコード(2025年)

概要

  • QRコード を手描きする体験談
  • 最小サイズ のQRコード(バージョン1)活用
  • URL長制限 とその工夫
  • Pythonパッケージ での生成方法紹介
  • 手描きのコツ や注意点を共有

手描きQRコード挑戦記

  • Minneapolis の新しい文房具店で 10x102x10 グリッドの付箋型パッドを購入
  • QRコード (バージョン1)は 21x21ピクセル 必要
    • グリッドを 半分に分割、余白も利用
  • バージョン1 のQRコードは 17バイト までのURLを最低品質で格納可能
  • https://sethmlarson.dev23バイト で収まらず
    • 代わりに sethmlarson.dev を使い、検索誘導で自身のサイトへアクセス
  • 読者からの指摘で 大文字 ならフルドメインも格納可能と判明
    • QRコードの 英数字セット には :や/ などURL記号も含まれる

QRコード生成と手描きの手順

  • qrcode パッケージ(Python Package Index)でQRコードを生成
    • コマンド例
      $ echo -n "HTTPS://SETHMLARSON.DEV" | qr --error-correction=L
      
    • echo -n で改行を含めない出力
  • コーナーの四角 (ポジションパターン)を最初に描く
  • タイミングライン (左上から左下、上部)を描き、徐々に他のピクセルも埋める
  • スキャンアプリが 途中経過 でも認識し始める
  • データ部分 で多少ミスがあっても、 最低エラー訂正レベル でも問題なく読み取り可能

手描きQRコードの注意点とコツ

  • 紙の反り でスキャンが難しくなる場合あり
    • 平らに保持 すると読み取りやすい
    • モニターに貼る と遠くからもスキャンしやすい
  • 手描き の楽しさと達成感
    • グリッド紙での創作活動のすすめ

さらなるインスピレーションと情報

  • GRID WORLD (Alexander Miller作)の紹介
    • グリッドベースのウェブアート作品
  • MastodonメールBluesky で感想募集
  • ブログアーカイブおすすめリンク集 の案内
  • RSSメールニュースレター での購読案内
  • 外に出る こともおすすめ

Hackerたちの意見

更新から: 「大文字のQRコードは小文字のQRコードよりも小さいのはなぜ?」

ホワイトボードに手描きしたんだけど、思ったよりずっと大変だった。

ちなみに、PDP-10のアセンブリ言語でQRシンボルジェネレーターも作ったよ。

誰かギフトアイデアが必要なら: こんなのを大きなシートに使って、パズルギフト用に切り分けたことがある。最近は、こういうのにぴったりな一時的なウェブサイトを簡単に作れるからね。

アクリル版とか、もっと高級な素材で作ったらいいなって思ってる。スターターキットは21×21のボードに、3つの8×8のファインダーパターン、2つの1×5のタイミングパターン、120個の白モジュールと119個の黒モジュールが含まれてる。Version 2の拡張パックには25×25のボード、2つの1×4のタイミングパターン、1つの5×5のアライメントパターン、76個の白モジュールと75個の黒モジュールが入ってる。こんな感じで。個々の黒と白のモジュールの比率についてはよくわからないけど、一般的には黒と白をバランスよくするのが目的みたい。ただ、固定部分は黒がちょっと多いから、それをどう考えるかはわからない。ファインダーパターンは33:31の黒:白、アライメントパターンは17:8、1×5のタイミングパターンは3:2、1×4のタイミングパターンは2:2だよ。

投稿の下にリンクされているGrid Worldの記事、めっちゃ面白かった!

(マイクロQRコードの他に)他に興味がある人がいたら:

長方形のマイクロQRコードは、普通のマイクロQRコードとは違うよ。

これを見て、QRコードの「無限」バージョンがプリンターからストリーミングできるのか気になった。まあ、分割できるとは思うけど。

いや、それは違うと思う!それは「長方形のマイクロQRコード」だよ。これだと思う:https://www.qrcode.com/en/codes/microqr.html

レストランで似たようなものが木の板に彫られてインクが塗られているのを見たんだけど、残念ながらエラーハンドリングがあったにもかかわらず、試した4つのうち3つはスキャンできなかった。唯一スキャンできたやつは、レストランのレビューサイトに飛んだんだけど(たくさんのレビューがQRがうまくいかなかったって言ってた - レストランが欲しかったフィードバックじゃないだろうね)!でも、会計を待ってる間は楽しめたかな。

ちょっと前に、中国で電車に乗ってた男が自分の座席のQRコードの写真を撮ったツイートがあったんだ。彼はそのQRコードを使って、食べ物や飲み物を直接注文できるって言ってた。5分後に彼から別のツイートがあって、 - 誰かが元のツイートを見た(男2) - QRコードをスキャンした - OPに飲み物を注文した - 注文に「男2からのもの」とメモを追加した。いつもこの話が好きなんだ。

Hacker Newsで議論の続きを見る