What's inside a QR code? How they actually work

April 22, 2026 · by Paul Maass
conceptstechcuriosity

QR codes look random. They're not. Every black-and-white square is encoded data, position marker, error correction, or version metadata. Here's a quick tour of what's in there.

The three big finder patterns

The three large squares in the corners (top-left, top-right, bottom-left) are finder patterns. They tell scanners "this is a QR code, here's how it's rotated."

Why three and not four? Because the missing fourth corner tells scanners which way is up. If all four corners had the pattern, scanners couldn't distinguish orientation.

Alignment patterns

In larger QR codes (version 2+), you'll see smaller "mini-eye" patterns scattered through the data area. These are alignment patterns — they help scanners correct for warping when the QR is printed on a curved surface or photographed at an angle.

Timing patterns

Look closely between the finder patterns. There's a line of alternating black/white squares connecting them. This is the timing pattern. It helps scanners calibrate how big each module (square) is — because a QR can be printed at any size from a postage stamp to a billboard.

Version

QR codes come in 40 versions, from version 1 (21×21 modules) to version 40 (177×177 modules). The version determines how much data the QR can hold. Encoding "https://onedollarqrcodes.com" needs version 2 or 3. Encoding "the complete works of Shakespeare" would need version 40+ (and even then probably wouldn't fit).

Error correction levels

QR codes have four built-in error correction levels:

This is what lets you put a logo in the middle of a QR — the missing data is reconstructed via Reed-Solomon error correction. The catch: higher error correction means lower data capacity, so it's a tradeoff.

Encoding modes

QR codes support four encoding modes:

Most URL QRs use byte mode. The "wasted" capacity of byte mode is part of why long URLs make QR codes denser-looking.

Why our QRs all look similar density

OneDollarQRcodes uses short links like onedollarqrcodes.com/r/abc123. That's ~30 characters — fits in version 2 or 3, encoded as byte. So every QR we generate is about the same density and the same physical size requirement at the same print size. Predictable.

Build one →

Build your own $1 QR code
Custom colors, logo, 3-year guarantee. No subscription.
Start building →