Branded QR code design rules: contrast, logo overlay, and the colors that scan

How to brand a QR code without breaking it. Contrast ratios, logo overlay limits, error-correction, and colors rejected by older Android cameras.

Trakl Team5 min read
On this page+

A branded QR code is not the same as a default-style QR. Branded means colors, a logo, custom corner shapes, sometimes a frame around the code. Each of those decisions can break the scan. Here are the rules that keep scan reliability high while letting the code carry brand presence.

The four design dimensions

Every branded QR has four design choices, in roughly this order of impact on scan reliability:

  1. Contrast ratio. Dark modules vs light background.
  2. Error-correction level. L (7%), M (15%), Q (25%), or H (30%).
  3. Logo overlay. Size and placement.
  4. Module shape and corner shape. Square, dot, or rounded modules; circular, leaf, or square corners.

Get the first one right and the rest become forgiving. Get it wrong and nothing else matters.

Rule 1: contrast ratio

The dark and light modules need at least roughly 50 percent luminance contrast for a phone camera to reliably distinguish them. Black on white is 100 percent contrast, the safe default. Any darker color on a light background usually works:

  • Navy #0a1f5c on white. Works.
  • Dark green #0a4d2c on cream #faf8f3. Works.
  • Dark red #7a0e0e on light gray. Works.

Things that get rejected:

  • Mid-gray on light gray. Insufficient contrast.
  • Color-on-color without a clear lightness difference. Teal modules on yellow background, for example.
  • Inverted (light on dark). Most modern phone cameras handle inverted codes, but a substantial minority of older Android cameras and dedicated QR-reader apps still require dark-on-light. The dropoff in scans rarely shows up in your analytics, since the people who could not scan never become a recorded event.

Test on three devices before printing 50,000 of anything. An old Android, a recent Android, and a recent iPhone. If the old Android struggles, default to higher contrast.

Rule 2: error-correction level

The QR specification defines four error-correction levels:

LevelRecoveryUse case
L7%Clean, undecorated codes. Densest pattern, most data fit.
M15%Default for most QR generators. Slight redundancy.
Q25%Logo overlay or moderate decoration.
H30%Heavy logo overlay or aggressive styling. Most forgiving.

For a clean black-on-white QR with no decoration, level L is fine and gives you the simplest, sparsest pattern. As you add decoration (logo, color, corner shapes), step up the level. A logo covering 15 percent of the surface needs at least Q.

The trade-off: higher error-correction means denser pixel patterns to encode the same URL. The visual difference between an L-level and an H-level QR for the same URL is roughly 50 percent more modules in each direction. The pattern gets busier.

Rule 3: logo overlay

The error-correction layer is what makes a center-logo overlay possible. Up to 25 percent of the QR's surface can be obscured at level Q without breaking the scan. Beyond that, scan reliability drops fast.

Three rules for logo placement:

  1. Center the logo. Off-center logos can overlap with the timing patterns and break the code's geometry detection. Center is the only safe placement.
  2. Never cover the position-detection patterns at the three corners. The three large square markers in the corners of the code are essential for camera detection. A logo covering any one of them breaks the scan completely, regardless of error-correction level.
  3. Use a square or circular logo with a solid background. Logos with alpha transparency, complex outlines, or thin gradients confuse the binary scan. A solid white circle with the brand mark in the middle is the cleanest pattern.

The maximum logo size for level Q error-correction is roughly 25 percent of the QR's pixel surface, which translates to a logo with width about 50 percent of the QR's edge length (since the logo overlaps a center area of the pattern). Going larger requires level H and even then risks scan failure on lower-resolution prints.

Rule 4: module and corner shapes

Modern QR generators (including Trakl's) let you replace square modules with dots, rounded squares, or other shapes. The corner detection patterns can also be styled (square, leaf, circle).

For most cameras, these stylings work. Modern iOS cameras and recent Android cameras handle stylized codes fluently. The risk is older devices, which were trained on the strict square-module specification.

A safe stylistic profile:

  • Modules: Rounded squares. Recognized by every camera and looks cleaner than strict squares.
  • Corners: Outer corners can be styled (leaf shape, circle, square). The inner positioning markers should stay square or rounded; not too creative.
  • No overlap. Modules should not touch each other or fade into the background. Each module is a distinct binary cell.

Avoid: full circles for modules, gradient-filled modules, partial transparency. These styles look great in software previews and break in the field.

Color: brand palette without breaking the code

Three approaches:

  1. Brand color as the dark module, white background. Most common. Use any color with luminance below roughly 40 percent on the Lab scale. Navy, forest green, brick red, deep purple all work. Test it.

  2. Light brand color as background, black modules. Cream background, black QR. Works fine.

  3. Two-color modules. Some generators (including Trakl's) allow different colors for the position-detection patterns versus the data modules. This adds visual flair while preserving the corner patterns' contrast.

Avoid: codes where dark and light are the same hue with different saturation. Camera color discrimination is unreliable across hue at the binary level.

What about a frame around the code?

A frame is a decorative border around the QR with optional text below ("scan to learn more," "menu," "register"). Two notes:

  1. The frame does not affect scan reliability. It is purely visual.
  2. The frame should not crowd the QR. Leave at least one module's worth of clear space (the "quiet zone") on every side. The QR specification requires this for camera detection.

The frame is a placement-and-context affordance. It does not affect scan performance.

Real-world testing checklist

Before any print run of more than 1,000 units:

  1. Print one copy at the exact size and quality of the production run. Not a software preview, an actual paper print.
  2. Test scan from the expected viewing distance with at least three phones: one new iPhone, one new Android, one Android older than three years.
  3. Test scan in low light. QR scans are more reliable in good light, and printing the campaign for a dim venue (concert, late-night event) requires extra contrast and a larger code.
  4. Test scan at a slight angle. Production scans are often at 30 to 45 degrees rather than straight-on.

If any test fails, increase contrast, reduce logo size, or step up the error-correction level. Iterate until all four pass.

What Trakl's QR builder does

Trakl includes a branded QR builder on every paid tier. The picker covers:

  • Module shape (square, rounded, dot)
  • Corner shape (square, leaf, rounded)
  • Background and module colors
  • Logo upload (PNG, JPG, WebP, with the SVG block in place for security)
  • Error-correction level (L, M, Q, H)
  • Live preview with scan-readability hint

Default settings: black-on-white, level Q, no logo. Override as needed for branded campaigns.

For the broader QR strategy, the QR codes pillar guide covers the static-vs-dynamic decision. For placement and UTM patterns, trackable QR for print marketing is the next read.

Frequently filed

Common questions.

Q.01How much can I brand a QR code without breaking it?+

Up to roughly 25 percent of the surface can be replaced with a logo if you set the error-correction level to Q (25%) or H (30%). Beyond that, scan reliability drops. The position-detection patterns at the three corners must remain intact regardless of overlay; never put a logo over those.

Q.02Can a QR code be any color?+

With caveats. The dark and light modules need at least roughly 50 percent contrast. Black on white is the safe default. Any darker color (navy, dark green, dark red) on a light background works on modern phone cameras. Inverting (light on dark) breaks scanning on a substantial minority of older Android devices and dedicated QR readers.

Q.03What error-correction level should I pick?+

For a clean, undecorated QR, level L (7%) is fine and gives you the densest pattern. For a logo overlay or any colored decoration, jump to level Q (25%) or H (30%) to ensure the code can recover from the obscured pixels. The trade-off is the QR pattern gets visually denser.

TT

By the byline

Trakl Team

Editorial team

We build Trakl, a link shortener and UTM tracker for marketing teams. We write here from the cleanup work, support tickets, and campaign reviews that fill the rest of our week. Specifics over slogans, and we cite the source.

Photo: Alex Zaj on Unsplash