How-To 2026-02-25 4 min By Cornelious Fazal
Create a Custom Colour QR Code Free · No signup · Permanent

QR Code Colors: Design Rules for Custom, Branded and Colourful Codes That Still Scan

Quick Answer

Yes, QR codes can use brand colours - but only within specific contrast and design rules. This guide covers minimum contrast ratios, which colours to avoid,.

Can QR Codes Be Coloured?

Yes - QR codes can use custom colours and still scan reliably, provided the fundamental contrast and module visibility rules are followed. The colour of individual modules has no bearing on scan reliability; the contrast between modules and background is everything.

Standard QR codes use black modules on a white background because this produces maximum contrast in all lighting conditions and printing environments. Custom colours introduce risk only when contrast is insufficient, or when design modifications interfere with the scanner's ability to detect the finder patterns (the three square-corner markers).

Rule 1: Minimum Contrast Ratio - Non-Negotiable

The contrast between the module colour (the "dark" pattern elements) and the background colour must meet a minimum ratio for reliable scanning across different lighting conditions, camera qualities, and scanning angles.

  • Absolute minimum: 3:1 contrast ratio (the same WCAG AA accessibility standard for text)
  • Recommended: 4.5:1 or higher
  • Ideal: As close to pure black on pure white as possible (21:1)

You can check any colour pair's contrast ratio at webaim.org/resources/contrastchecker - it accepts hex colour codes.

Colour combinations that typically work

  • Dark navy blue (#003087) on white → 13:1 ✅
  • Dark green (#1a5276) on white → 10:1 ✅
  • Deep burgundy (#922b21) on white → 9:1 ✅
  • Dark grey (#2c3e50) on light cream (#fdfefe) → 11:1 ✅
  • Brand orange (#e67e22) on white → 2.4:1 ❌ (insufficient)
  • Yellow (#f4d03f) on white → 1.3:1 ❌ (fails)
  • Light blue (#aed6f1) on white → 1.9:1 ❌ (fails)

Rule 2: Dark Modules on Light Background - Never Reverse

The canonical QR code format uses dark modules on a light background. While some scanners can read inverted (light on dark) codes, many cannot - and the spread of QR code readers across different devices and ages of hardware makes inversion unreliable in real-world deployment. Never create a QR code with light-coloured modules on a dark background and expect it to scan universally.

If your brand uses a dark background: place the QR code inside a white or very light box with adequate quiet zone, maintaining the dark module standard within that box.

Rule 3: Finder Patterns Must Remain Visually Distinct

The three large square patterns in the three corners of a QR code are the finder patterns - how the scanner detects the code and establishes its orientation. These must remain clearly recognisable as large dark squares with a light interior. Do not alter the finder pattern colours, add gradients to them, or apply design effects that blur their square definition. Finder patterns that are too lightly coloured, filled with brand colours instead of dark fill, or obscured by overlapping design elements cause the majority of custom QR code scan failures.

Rule 4: Logo Integration - Maximum 30% Coverage

A logo placed in the centre of a QR code uses the error correction mechanism. The QR code stores redundant data; the error correction can reconstruct the damaged modules obscured by the logo. The maximum logo coverage is therefore tied to the error correction level:

  • Error correction level L: maximum 7% - no practical logo
  • Error correction level M: maximum 15%
  • Error correction level Q: maximum 25%
  • Error correction level H: maximum 30%

For logo integration: always use error correction level H. Never allow the logo to cover finder patterns. Centre the logo precisely. Give the logo a solid white or light background "box" so the logo boundary does not bleed into the surrounding modules. Logo size: ideally 20-25% of the total code area max (well within the 30% limit) for a reliability margin.

Rule 5: Quiet Zone - Keep It Clear of Your Brand Design

The quiet zone is the mandatory blank margin around all four sides of the QR code. Minimum: 4 modules wide on all sides. No brand colours, patterns, gradients, or text should enter the quiet zone. Scanners use the quiet zone contrast boundary to detect the code's edges - anything encroaching on it prevents detection entirely.

Most Common Custom QR Code Design Mistakes

MistakeConsequenceFix
Light yellow or orange modules on white backgroundInsufficient contrast - fails in most lightingUse module colour with 4.5:1+ contrast vs background
Inverted: light modules on dark backgroundMany scanners fail to read inverted codesKeep dark modules on light background; put code in white box
Logo covers more than 30% of code areaError correction exhausted - scan failureReduce logo size to ≤20% of code area
Gradient background behind modulesLocal contrast varies - areas may failUse solid, single-colour background only
Finder patterns coloured same as backgroundScanner cannot detect code orientationKeep finder patterns dark and fully contrasted
Text overlapping the quiet zoneScanner cannot detect code boundaryKeep 4-module quiet zone completely clear
Brand pattern behind codePattern detected as part of code - confusionPlace code on solid background only

Always test your custom QR code on at least 3 different devices before deployment - different camera algorithms produce different results. If it fails even one test, redesign before printing.

Frequently Asked Questions

Some QR code design tools offer non-square module shapes - dots, rounded squares, diamonds or hearts for the individual data modules. These can work, subject to the same contrast rules, because the shapes still create the necessary light/dark pattern the scanner decodes. The finder pattern squares must remain as squares (or very close square approximations) - non-square finder patterns cause systematic scan failure. Rounded data modules are the most reliably scannable alternative to standard squares; highly irregular shapes (stars, hearts) reduce reliability and should always be tested exhaustively before deployment.

If colour is used carelessly (insufficient contrast, finder pattern interference, inversion), it significantly reduces scan reliability. If colour is used within the rules described above (high contrast, dark-on-light, unmodified finder patterns, adequate quiet zone), scan reliability is essentially identical to a black-and-white code. The colour of the modules is irrelevant to the scanner - it processes the code as a binary pattern of "higher brightness" and "lower brightness" areas, regardless of the specific hue.

Older smartphone cameras have lower-resolution sensors and less sophisticated image processing algorithms. Custom colours at borderline contrast ratios (3:1 rather than 4.5:1) may scan on modern high-resolution cameras that can resolve fine detail, but fail on older sensors. Additionally, some QR code reader apps have stricter interpretation standards than others. The solution: test on both a current flagship phone and a 3-5 year old mid-range Android device as your minimum bar. The older/lower-spec device is your limiting case. If it fails there, increase contrast or simplify the design.

Avoid gradients as direct backgrounds behind QR modules. A gradient background causes the local contrast between modules and background to vary across different parts of the code - areas where the gradient lightens sufficiently for the dark modules to remain visible will scan; areas where the gradient darkens to near the module colour will not. For branded materials with gradient backgrounds, place the QR code inside a solid white rectangle with adequate quiet zone, overlaying the gradient. The gradient forms the design backdrop; the code sits in a clean, solid-background zone within it.