ハクソク

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

手描きの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からのもの」とメモを追加した。いつもこの話が好きなんだ。
そうだね、見た目が良くても、多くのスキャナーは高いコントラストと、全体を囲む明るい境界線が必要なんだ(スタイライズされたものには境界線がないのが多い)。どちらかが欠けると、スキャン失敗が多くなるよ。
> 素敵な読者から、公開後すぐに教えてもらったんだけど、バージョン1のQRコードにフルドメイン名を大文字で入れられるって。QRコードの「英数字」キャラクターセットには、URL用の記号(:や/)が含まれてるんだって。これは覚えておくといいトリックだよ。過去に自分でも使ったことがあるし。超小型のQRコードを作るのにも便利だし、最大のQRコードの限界までデータを詰め込むのにも役立つ。
これはクールだけど、手作業でエンコードしてパターンを計算してくれることを期待してたんだ。どれくらい時間がかかるんだろう。
他に、QRコードがついてるランダムなゴミをスキャンしてどこに行くか見た人いる?結構な数のものが、何も反応しないコードを持ってることがわかった。余分に買ったガレージドアオープナーのリモコン、QRコードは何も反応しない。SwitchBotの機器も、QRコードは全く何もしない。
QRコードは、他のバーコードと同じように情報を保存してるだけで、何かを「する」わけじゃないよね。もしかして、見つけたやつはチェックサムが失敗してたの?
QRコードは在庫管理やラベル付けのために作られたんだ。リンクをスマホに送るのは副産物みたいなもんだね。
公共用のURLじゃなくて、内部でしか使えない識別子をエンコードしてる可能性が高いよ。
2000年代中頃には使ってたけど、いつの間にかその魅力が薄れちゃった。自分で好きなテキストをエンコードできるって気づいたときに一瞬魔法が戻ったけど、プリンター用紙から作った巨大なQRコードをスキャンするのに苦労して、またその魔法が消えちゃった。
>QRコードがあっても何も起こらない 2000年代に.exeを開いたときみたいで、何も起こらないように見える…悪いニュースだね。
私はハードウェア製造の仕事をしてる。うちのPCBにはシルクスクリーンとステッカーにQRコードがあるけど、ウェブサイトをエンコードしてるわけじゃないんだ。むしろ、トレーサビリティや製造・在庫管理のための部品番号やシリアル/ロット番号なんだよ。うち(と上流の製造業者)の特定のパターンを知らない限り、君には無関係だと思うよ。
Meshtagはまさにこれのために作られた感じがする。トリックは、シンボルがQRコードのようにリンクをエンコードするんじゃなくて、サーバー上のリンクを参照するだけだから、描き方がゆるくても大丈夫なんだ。逆に、Meshtagがもしサービスを終了したら、世界中のタグが使えなくなるってことだね。
これはユニークなアプローチだね、聞いたことなかった。残念ながら、私の地域ではダウンロードできないみたい。
それってMS Tagと同じだね(もう死んでるけど)。オンラインでの検索が必要なものは、必ず単一障害点の影響を受けるからね。QRコードは、発行元が閉鎖しても使えるからいいよね。