Quick answer
A QR code encodes data as a grid of black and white modules. Three large squares in the corners (finder patterns) let a camera instantly locate and orient the code, while built-in error correction lets it still scan correctly even if part of the code is damaged or obscured.
The Anatomy of a QR Code
Modules
The individual black and white squares that make up the grid. Each module represents one bit of data — how many modules a code has depends on how much data is encoded (this is called the code's 'version', from 21×21 modules up to 177×177).
Finder patterns
The three larger square patterns in the top-left, top-right, and bottom-left corners. A scanner locates these first — their distinctive ratio (1:1:3:1:1 of dark and light) lets software recognize a QR code and determine its orientation instantly, from almost any angle.
Timing patterns
Thin alternating lines connecting the finder patterns, used to help the scanner count modules accurately across the whole grid, even if the code is slightly warped or photographed at an angle.
Quiet zone
The blank margin around the entire code. Scanners use it to detect where the pattern starts — without it, the code can blend into a busy background and fail to scan.
Error Correction Levels
Every QR code is generated with one of four error correction levels, trading data capacity for damage tolerance:
| Level | Recoverable if damaged | Typical use |
|---|---|---|
| L (Low) | ~7% | Maximum data capacity, least tolerant of damage |
| M (Medium) | ~15% | Default in most generators, a balanced choice |
| Q (Quartile) | ~25% | Used when a logo will cover part of the code |
| H (High) | ~30% | Most damage-tolerant, lowest data capacity |
What Happens When You Scan One
- The camera locates the three finder patterns to identify a QR code and its orientation
- It uses the timing patterns to count modules accurately across the grid
- It reads the module pattern and applies error correction to recover any damaged sections
- It decodes the binary data back into text — a URL, contact card, WiFi credentials, or plain text
- The phone's OS recognizes the data format and offers the matching action, like opening a browser or saving a contact
Frequently Asked Questions
Why can a QR code still scan even if part of it is damaged or covered?
QR codes use Reed-Solomon error correction, which adds redundant data to the pattern. Depending on the error correction level chosen, the code can still be read correctly even if 7% to 30% of it is missing, smudged, or covered — for example, by a logo placed in the center.
Why do QR codes look random instead of showing a pattern I'd expect?
The layout is determined by an encoding algorithm, not manual design — the same input text always produces the same module pattern, but there's no visual logic a human would recognize just by looking at it.
Can two different QR codes look almost identical?
It's extremely unlikely for two different pieces of data to produce a visually similar pattern, because even a one-character change in the input cascades into a very different module layout.
See It in Action
Generate a free QR code and watch the pattern update live as you type.
