How to design a QR code that works as hard as it looks good
A practical, no-fluff guide from the QRGen team.
A QR code is one of the few pieces of design that has to do two jobs at once: it must express your brand and survive a physics exam run by every phone camera on earth. Here's the rulebook we follow — and our free designer enforces the dangerous parts for you.
1. Contrast is everything
The scanner detects the boundary between dark modules and the light background. Aim for a contrast ratio of at least 7:1 (black on white is the reference). Dark-on-light always; light-on-dark frequently fails on many cameras. If your brand color is light (pastel blue, yellow), use it as the background with dark modules, not the other way around.
2. The logo rule (20%)
A center logo is fine up to roughly 20% of the code area. Beyond that, scanning reliability drops sharply on busy, low-end cameras. Our generator caps the logo automatically and bumps error correction to Q (25% recovery) so the "missing" center is recoverable.
3. Error correction: choose it on purpose
- L (7%) — maximum density, no logo. Fine for simple URL codes in controlled print.
- M (15%) — the balanced default.
- Q (25%) — the right choice whenever a logo or wear is involved.
- H (30%) — stickers on curvy surfaces, harsh environments, or heavy branding.
4. Keep the corners pristine
The three finder squares (corners) are how cameras locate and orient the code. Never overlay graphics, text or rounded-crop effects on them. Subtle rounded corners on the outer modules are fine; anything touching the finders is not.
5. Quiet zone and minimum size
Leave at least 4 modules of blank margin on every side (our exports include this automatically). Minimum print size: 25×25mm. Below that, expect scan failures on real phones in real conditions.
6. Test like a skeptic
- Test at the final print size, not on your screen.
- Test on at least two phone brands (one iPhone, one Android).
- Test from angles and distances you expect in the wild.
- Test after laminating if the print will be laminated — gloss glare is a classic killer.
7. When in doubt, go bolder
A slightly simpler, higher-contrast, logo-free code always scans better than a clever one. Branding has other places to shine: the space around the code, your colors, the copy next to it.