What's actually inside a QR code
A QR code is a grid of dark and light squares that encodes data in two dimensions. The three large squares in the corners are position markers — they let your phone camera figure out the orientation instantly, even if you're holding your phone at an angle. The smaller alignment patterns and timing rows help the decoder handle distortion (like a slightly curved business card).
The data itself is spread across the remaining cells using a technique called Reed-Solomon error correction. This is why QR codes still scan even when they're partially obscured or damaged — the error correction can reconstruct missing data. There are four error correction levels: L (7% recovery), M (15%), Q (25%), and H (30%). Higher correction means more redundancy, which means a slightly denser code. If you're adding a logo that covers part of the code, use H level.
How much data fits?
QR codes can hold quite a bit, but the more data you pack in, the larger and denser the code gets. Numbers only go up to about 7,000 characters; alphanumeric content tops out around 4,200; binary/byte data around 2,900. For practical use — a URL, a WiFi password, a vCard — you're well within limits. Just keep URLs short if you can. A URL shortener helps when printing at small sizes.
Adding a logo
Logos work because of error correction. When you place a logo in the center, it obscures some modules, but the H-level error correction fills in the gaps during scanning. Keep your logo under 30% of the total code area and make sure the rest of the code stays high-contrast. Always scan-test before printing.
Leave a Comment
We'd love to hear from you