← Back to articles

How QR Codes Actually Work — Finder Patterns, Modules, and Error Correction

May 6, 2026

A QR code looks like noise, but it's really a tiny printed grid. Three big squares tell your phone where the code is, a field of black-and-white dots carries the data, and a layer of error correction means a smudge or a centered logo doesn't break the scan. The format has been an open international standard (ISO/IEC 18004) since 2000, which is why every modern camera can read one. If you want to see this on your own phone while you read, QRDock is our free, no-tracking scanner.

What's actually inside the square — modules and versions

The smallest unit of a QR code is the module — a single black or white dot. A QR code is just a grid of those dots arranged on a square.

There are 40 official versions of the format. Version 1 is a 21-by-21-module grid. Each higher version adds 4 more modules per side, all the way up to Version 40 at 177 by 177 modules (qrcode.com). At maximum capacity, a QR code can hold up to 7,089 numeric characters, 4,296 alphanumeric, 2,953 binary bytes, or 1,817 kanji (qrcode.com). Most real-world QR codes are far smaller — a typical URL fits in versions 2 through 10.

Around the edges of the data area sits a quiet zone — a margin of empty white space that scanners use as a frame. Without it, your phone can't tell where the code ends.

Finder, alignment, and timing patterns — how scanners find their bearings

The most recognizable feature of a QR code is the trio of large concentric squares in three corners. Those are finder patterns, and they're the reason a scanner can lock onto a code in milliseconds. The pattern is specific enough that a scanner can spot a QR code in a crowded frame just by looking for that shape, then use the three corners to figure out position and orientation (Wikipedia).

Inside the body of the code, you'll usually see one or more smaller concentric squares. Those are alignment patterns — anchor points that correct for perspective when you hold your phone at an angle.

Running between two of the finder patterns is a row and column of alternating black-and-white modules — the timing patterns. They tell the scanner exactly how big each module is, which is what lets the same algorithm read a tiny QR code on a business card and a giant one on a billboard. Together, these structural features are why a code still scans rotated or tilted toward the camera.

How error correction lets QR codes survive damage

Every QR code carries redundant data so it can still be decoded if part of it is dirty, torn, or covered. There are four error correction levels — L (about 7% recoverable), M (about 15%), Q (about 25%), and H (about 30%) (qrcode.com). Level M is the common default; Q or H is used in factories and outdoor signage.

The math behind this is Reed–Solomon coding — the same family of error-correcting codes that protects audio CDs, DVDs, Blu-rays, and the data streams from deep-space probes (Wikipedia). It works at the byte level and is especially good at recovering from burst errors — long, contiguous runs of damage like a coffee stain or a sticker. That property is what makes QR codes useful in the messy real world.

It's also why a QR code can have a logo in the middle and still scan. At Level H, roughly 30% of the code's modules can be lost, so a logo covering up to about a quarter of the area leaves enough redundancy to reconstruct the data. The trade-off — more error correction means a denser, slightly larger code for the same payload. For most uses, Level M is plenty.

Frequently asked questions

Why are there three big squares in the corners of a QR code?

They're finder patterns. Scanners use them to locate the code in the camera view and figure out which way is up, even if you hold your phone sideways or upside down.

How much can a QR code hold?

At its largest version with the lightest error correction, a QR code can store up to 7,089 numeric characters or 4,296 alphanumeric characters. Most everyday QR codes hold a short URL or a few hundred characters.

Why does a QR code with a logo in the middle still scan?

Higher error correction levels can recover up to about 30% of damaged or covered modules. A logo placed within that budget — usually no more than a quarter of the code's area — leaves enough redundancy for a scanner to reconstruct the data.

Are QR codes patented?

Denso Wave invented QR Code in 1994 and waived its patent rights for the standardized version, which is why the format is free for anyone to generate, print, and scan.

Conclusion

Three patterns in the corners, a grid of modules in between, and a layer of Reed–Solomon error correction underneath — that's the whole format. The same building blocks underlie boarding-pass barcodes, transit tickets, and shipping labels.

Open QRDock and scan any QR code in your kitchen — you'll get the decoded text, a safety check on any URL, and zero tracking. For more from the QRDock team, see our other articles on Wi-Fi QR creation, format coverage, and what to watch for in QR phishing.