LockerGnomeFor serious tech professionals with a silly side.
Subscribe

Weird Techwebstandards

Noel Friedrich's worksheet decodes a QR code with a pencil, in 10 to 120 minutes

Noel Friedrich built a printable worksheet that walks you through reading a QR code by hand, square by square, down to the ASCII.

Noel Friedrich turned the Quick Response code into a slow one. His tutorial, How to read a QR Code by hand, opens by admitting the obvious: QR codes “weren’t made to be human-readable.” Reading one this way is, in his words, “neither particularly exciting nor very quick-response, but it is fun and relaxing.”

The worksheet does the bookkeeping. You count the grid and get the version from (size − 17) ÷ 4, which covers 21 by 21 up to 37 by 37 here. You read the error correction level and mask number from the first five bits below the upper-left eye. Then you print the page, which adapts to those settings, and color in only the squares that sit on a green zig-zag line.

The mask is the sneaky part. Every QR generator lays one of eight patterns over the data and flips every square under it, so the worksheet strikes those squares through and has you color only their upper-left half. When you read the bits back four at a time as hex digits, a half-colored square counts as the opposite of what it looks like. Friedrich even notes that the mask indicator is “of course also masked itself,” with 101.

Last comes the arithmetic. A leading 4 means byte mode, the next two digits give the character count, and every pair after that is an ASCII value. He gives you a starter set to memorize: 41 is “A,” 61 is “a,” 2F is “/” and 3A is “:.”

Play the video on YouTube

He also made the video, “how to read QR codes by hand (and make bad ones that work)”, for his companion project.

The 80% figure comes from homework. Friedrich downloaded 1,024 QR code photos from Flickr through Openverse and found that single-segment, byte-mode codes in versions 1 through 5 account for “79.8% of the sample, which is good enough for me.” The search keywords, he says, came from “my favourite LLM,” which is a funny way to stock a pencil-and-paper hobby.

He skips the Reed-Solomon error correction math entirely. It could be done by hand, he writes, but “would take a few hours (and importantly aren’t interesting, very error-prone and not fun!).” So the method assumes you read every square right, and nobody fixes your mistakes but you. He also hasn’t taught anyone to draw a working code by hand, because that requires the Reed-Solomon part, and “it’s probably inevitable that someone will get good at doing it by hand some day - good luck!”

Scanning a code has always meant trusting it before you can read it. A worksheet like this one flips that, at least for anyone with an hour and a pencil, and it hands every curious kid a way to check what a sticker on a parking meter actually says. The hand-drawn direction is the open one. Friedrich’s tools already pick the padding and the mask on purpose; the only piece still missing is someone patient enough to do thousands of XORs for the Reed-Solomon bytes on paper.

He asked for one more thing on the page. Version 1 codes have only three eyes, and he looked for an animal with “only three working (seeing) eyes” and didn’t find one, so the page still asks anyone who knows of one to email him.

More Weird Tech

Every Weird Tech story →