Designing a branded QR code that still scans
Colour, logos and rounded modules are all possible. Each one spends part of your margin for error.
By ShortFreeURL Team · 16 August 2026
What you are allowed to change
A scanner needs three things: the finder patterns in the corners, sufficient contrast between dark and light modules, and a clear quiet zone. Everything else — module shape, colour, a logo in the middle, the eye styling of the corners — is decoration you can modify within limits. The limits are not published by any authority; they are found by testing.
Contrast is the rule that cannot be bent
Dark modules on a light background, with a large luminance difference. Two brand colours of similar lightness will look beautiful and fail on half of phones. Inverting the code so the modules are light on dark works on some scanners and not others, and there is no reason to take that risk on printed material you cannot recall.
Colour choices that survive
A single dark brand colour for the modules on white is safe. Gradients are usually fine if both ends stay dark. Avoid red on white for anything that might be photographed in low light, because some sensors handle red channel contrast poorly. Never place the code over a photograph or a textured background.
Logos belong in the centre and must be small
The middle of the code carries the least critical data, which is why a centred logo works at all. Keep it well within the redundancy your error-correction level provides, leave a small white border around it so it reads as an intentional gap rather than damage, and never let it touch the finder patterns.
Custom module shapes cost you resolution
Rounded or dot-shaped modules leave gaps between neighbouring dark modules, which reduces the effective contrast a camera sees, especially at small sizes or at a distance. They are fine on a screen or a page held in the hand. They are a poor choice for a poster read across a room.
Keep the quiet zone even when the layout is tight
Four modules of blank margin on every side. Designers reliably want to crowd this because the code looks like it has too much padding. It does not; that margin is how the scanner finds the code's boundary, and removing it is the most common cause of a beautiful code that nobody can scan.
Test the final artefact across devices
Print at final size on the final stock. Scan with several phones, including an older model, at the intended distance, in the intended light, and at an angle. Every step of styling you added should be validated against that test rather than against a preview on a designer's monitor.
Keep an unstyled fallback
Generate a plain version of the same code and keep it in the asset folder. If the styled one fails testing late in the process, swapping it in takes seconds, and the campaign does not slip.

