# Inverted QR codes — the card pattern for dark designs

> True inversion — light modules on a dark background — fails on many scanners and should be a last resort. When the design around a code is dark, keep the code itself dark-on-light and place it on a solid light panel that contains the full four-module quiet zone, with the panel's corner radius kept smaller than the quiet zone.

Source: https://useqr.app/docs/design/inverted-qr-codes · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Two very different things called "inverted"

Designers use "inverted QR code" for two situations that behave nothing alike:

1. **True inversion** — light modules on a dark background. This defeats decoder
   detection outright on many scanners, for reasons covered on
   [why light-on-dark QR codes fail](/docs/design/why-light-on-dark-qr-codes-fail) and,
   at the spec level, on
   [colour inversion and polarity](/docs/spec/qr-code-color-inversion-and-polarity).
2. **A standard code sitting in a dark layout** — dark modules, light local background,
   dark everything else. This is fully supported and is what this page is about, because
   it is how you get the dark look without the failures.

## The card pattern

Give the code its own light ground: a solid panel — white or near-white — placed on the
dark design, with the code centred on it.

The numbers that make the card work:

- **The panel must contain the full [quiet zone](/glossary/quiet-zone): 4 modules of
  clear panel on every side of the code.** A card that hugs the code tightly has
  effectively deleted the quiet zone; the dark background becomes the code's border and
  detection suffers.
- **Corner radius smaller than the quiet zone.** A heavily rounded card clips light
  area exactly at the corners, next to the [finder patterns](/glossary/finder-pattern)
  where clearance matters most. Keep the radius under 4 modules.
- **Panel luminance high.** The panel is the code's background, so the
  [40-point contrast rule](/docs/design/qr-code-contrast-ratio-minimum) is measured
  against the panel, not the page. White is simplest; a light tint works if the
  arithmetic passes.
- **A margin beyond the quiet zone looks better.** One or two extra modules of panel
  visually separate card from background and absorb print misregistration.

In UseQR the default output already is this pattern's inner part — dark modules,
`bg=ffffff`, a 4-module quiet zone baked into the export. On a dark page or poster,
resist switching to a [transparent background](/docs/design/transparent-background-qr-codes)
(`bg=t`): transparency makes the dark design the background, which is exactly the
inversion trap. The same logic applies on
[dark-mode websites](/docs/design/qr-code-in-a-dark-mode-website), where the ground
under a transparent code flips with the user's theme.

## If you truly must invert

Occasionally a brand team insists on light modules on dark. The honest engineering
notes: it will fail for a real share of scanners, disproportionately on Android and on
embedded scanner apps; no amount of contrast fixes that, because the failure is
polarity, not luminance; and the only mitigation is hostile testing across many devices
plus acceptance of the loss. Decode the artwork with the [validator](/validate) and
test the printed piece — then reconsider the card pattern, which reads as
"designed" rather than "compromised" in almost every layout.

## FAQ

### Can a QR code be white on black?

It can be printed that way, but many scanners will not read it — decoders search for
dark modules on a light background, and only some try the reverse. The reliable
approach on a black design is a normal dark-on-light code on a white panel.

### How big should the light card behind a QR code be?

At minimum the code plus its four-module quiet zone on every side; one or two extra
modules of margin improve both reliability and appearance. A card that touches the
modules has removed the quiet zone and will cause intermittent scan failures.

### Can the card have rounded corners?

Yes, if the radius stays smaller than the quiet zone — under four modules. Larger radii
cut into the clear area at the corners, right beside the finder patterns the scanner
needs to locate first.

### Does a dark page around the card affect scanning?

No. Decoding only cares about the code and its immediate background — the panel. Once
the panel supplies a light ground and the full quiet zone, the surrounding design can
be as dark as the brand wants.

## Try it

- https://useqr.app/url
- https://useqr.app/validate
