Use color, gradients, logos, and backgrounds while keeping a QR code readable.
QR codes do not have to be black and white, but strong contrast remains the safest starting point. Most scanning systems expect darker modules on a lighter background. Reversing that relationship, using similar tones, or placing the symbol on a busy photograph increases risk.
Measure the final appearance
Two brand colors may look different to a designer while becoming similar in grayscale or under dim lighting. Screens also emit light, while paper reflects it. Test actual printed samples and use an accessible contrast checker as an additional signal, not as a replacement for scanning.
Be careful with gradients and transparency
A gradient can make one corner too pale. Transparency allows the background to change the effective module color. Metallic inks, gloss laminate, glass, and reflective signs introduce glare that may erase parts of the pattern from the camera view.
Logos consume margin for error
A centered logo can work when it is modest, surrounded by clear space, and paired with suitable error correction. It still covers data modules. Do not stretch the logo, cover position markers, or assume that maximum error correction makes any overlay safe.
Use a fallback
Place a readable URL, phone number, or short instruction beside the code. Then test several devices at the intended angle and distance. A branded code that fails is less valuable than a plain one that consistently reaches the correct destination.