QR Codes Explained: A Practical Guide
QR codes are everywhere, yet small mistakes — low contrast, wrong size, poor placement — stop them working. Here is how to get them right.
What a QR code is
A QR (Quick Response) code is a two-dimensional barcode. It stores data in a grid of black and white modules plus three large finder patterns in the corners that let a scanner locate and orient it.
Unlike a 1D barcode, a QR code holds far more data and can be scanned from any angle. Create one with the free QR code generator.
What the parts do
- Finder patterns — the three corner squares scanners lock onto.
- Alignment patterns — keep it readable when skewed.
- Data modules — your encoded content.
- Error correction — redundancy that lets the code survive damage.
Error correction levels
QR codes can recover from partial damage thanks to Reed–Solomon error correction:
| Level | Recovery | Use for |
|---|---|---|
| L | ~7% | Clean digital screens |
| M | ~15% | General use |
| Q | ~25% | Print, some wear |
| H | ~30% | Logos overlaid, harsh conditions |
Higher correction means a denser code for the same data. H is best when you overlay a logo.
Choosing the right size
The rule of thumb: scanning distance ≈ 10× the code width.
| Distance | Minimum size |
|---|---|
| 30 cm (1 ft) | 3 cm |
| 1 m | 10 cm |
| 3 m | 30 cm |
Add a quiet zone (blank margin) of at least 4 modules around the code.
Contrast, colour and testing
- Dark code on a light background. Never invert the contrast.
- Avoid low-contrast colours (yellow on white, red on blue).
- Test on real phones — several, on both iOS and Android, in the actual lighting.
- Do not stretch or skew the code; keep it square.
Common mistakes
- Code too small for the scan distance.
- No quiet zone around the code.
- Low contrast or inverted colours.
- Placing it where people cannot comfortably scan (behind glass, too high).
- Over-styling until the pattern breaks.
- Using a dynamic short link that later dies.
Create yours
Generate a clean, high-contrast QR code with the free QR code generator — download PNG or SVG, no signup, everything runs in your browser.