Hand Drawn QR Codes

Published: (May 5, 2026 at 12:02 AM EDT)
2 min read

Source: Hacker News

Hand‑drawn QR codes

I really like QR codes. Recently I purchased a new sticky‑note‑like pad from a new local stationery store in Minneapolis. The sheets have a 10×10 grid and 2×10 grid.

Generating the QR code

The smallest QR code (besides micro QR codes) is version 1, which uses a 21×21 pixel matrix. To fit it on the grid I had to split the squares in half and use some of the margin.

Version 1 QR codes can hold URLs up to 17 bytes long using the lowest data‑quality setting. Unfortunately https://sethmlarson.dev is 23 bytes, so I improvised and used sethmlarson.dev instead. This still prompts many QR‑code scanners to “search” for the term, leading to my website.

Note that a lovely reader informed me shortly after publication that I can include my full domain name in a version 1 QR code by using all capital letters instead of lowercase. TIL that the “alphanumeric” character set for QR codes actually contains symbols for URLs like : and /.

I created my reference using the qrcode package on the Python Package Index. Don’t forget the -n option with echo to avoid a trailing newline.

$ echo -n "HTTPS://SETHMLARSON.DEV" | qr --error-correction=L

Drawing the code

I drew the corner squares (known as “position patterns”) and then started filling in the other pixels. Once I added the “timing lines” between the top‑left and bottom‑left positions, the scanner began to recognize the pattern.

Continuing with the top timing line and data, the scanner could see the whole square as a QR code. If you look closely, I even made a small mistake in the data, but it didn’t matter even at the lowest error‑correction level.

Scanning

Finally, the QR code was complete! Scanning was finicky because the paper curled up off the flat surface. I could only get a successful scan when I held the paper flat, but hanging the QR code from my monitor worked extremely well, even from a distance.

Inspiration

I hope this inspires you to try hand‑drawing something on grid paper 🖤🤍. If you’re looking for more grid‑based inspiration, check out GRID WORLD, a web art piece by Alexander Miller.

0 views
Back to Blog

Related posts

Read more »