A QR code doesn't have to be black squares on a white background. Modern smartphone cameras handle colour and custom logos well — provided you follow a few rules. Get those rules wrong and the code won't scan, leaving customers confused and your print budget wasted.
The Contrast Rule
Contrast is the single most important design factor. The scanner distinguishes dark modules (the small squares that carry data) from the light background by their brightness difference. Drop that difference too low and the scan fails silently — no error message, no retry prompt for the user.
As a practical rule, aim for at least 4:1 contrast between foreground and background. Black on white is 21:1. Dark navy on white works. Light grey on white does not. You can verify contrast ratios using the WebAIM Contrast Checker before committing to a design.
These are the most common contrast failures:
- Dark background with dark modules — no separation between the two
- Light or yellow modules on white — insufficient brightness difference
- Gradients that fade behind the finder squares — the three large corner boxes need consistent contrast so the scanner can locate them
- Transparent QR codes placed over busy imagery — the background competes with the modules
Foreground and Background Colour
You can replace the default black and white with any two colours, as long as the foreground modules remain darker than the background. Inverting this — light modules on a dark background — is technically possible but often fails on older scanner apps. If you need a dark background in your design, place the QR code on a white or light-coloured panel within the layout rather than inverting the code itself.
When matching brand colours:
- Foreground — use your darkest brand colour
- Background — use white or a very light brand tint
- Avoid — matching foreground closely to background, even if both look bold or saturated in isolation
Adding a Logo
Most QR code generators — including SmartQR Hub — let you place a logo at the centre of the code. This works because QR codes include built-in error correction: even with part of the code obscured, the data can still be recovered. There are four error correction levels:
- Level L — recovers up to 7% of damaged data
- Level M — recovers up to 15%
- Level Q — recovers up to 25%
- Level H — recovers up to 30%
For logo placement, always use Level H. Keep your logo to around 20–25% of the code's total area to stay within the safety margin.
A few logo tips:
- Use a square or circular crop — rectangular logos eat into too many modules
- Give the logo a solid background — transparency lets the modules behind it bleed through, which can confuse scanners
- Test after adding the logo — scan on at least two different devices before printing
The Quiet Zone
The quiet zone is the blank margin surrounding the QR code on all four sides. Scanners use it to locate where the code begins and ends. The minimum is four modules wide — one module being the size of a single small square within the code.
In print terms: never push the QR code flush against other design elements. Leave a few millimetres of clear space around the code at all sizes, even on small labels where space is tight.
When to Use Colour vs Black and White
Coloured QR codes suit:
- Marketing print — flyers, posters, and brochures where brand consistency matters
- Product packaging — where the code appears alongside branded colours and design
- Digital use — social media graphics, email banners, and websites where display conditions are predictable
Stick to black and white when:
- Printing at very small sizes — below 2.5 cm square, maximum contrast is your best safety margin
- Printing in a single colour — on low-budget or thermal print stock
- The background is unpredictable — such as stickers applied to varied surfaces or colours
- Lighting is low or variable — black and white gives the scanner the best possible signal
Frequently Asked Questions
Can I use a coloured background?
Yes, provided the contrast ratio between the background and the foreground modules is sufficient. A pale brand tint works well as a background. A vibrant or saturated colour is likely to cause problems, particularly under variable lighting conditions.
Will a logo QR code work on all phones?
Modern smartphone cameras — iOS 11 and later, and most Android devices from 2018 onwards — handle logo QR codes reliably. Use Level H error correction and keep the logo within 25% of the code's total area. Test on both iOS and Android before any print run.
Can I use white modules on a dark background?
Some scanners handle inverted codes; many do not. The standard expectation for QR scanners is dark modules on a light background. Rather than inverting the code, place it on a white or light-coloured panel within your darker design.
How small can a QR code be and still scan reliably?
At 2.5 cm × 2.5 cm (roughly 1 inch square), a short URL scans reliably. Below that, shorten the URL to reduce the number of modules in the code. Note that higher error correction levels produce denser codes — at very small sizes, use Level L or M unless you specifically need logo placement.