# QR code disappears in black-and-white printing

> Greyscale conversion keeps luminance and throws away hue. Two colours that contrast on screen — red on green, red on blue — can convert to nearly the same grey, and the code vanishes. Check by previewing the artwork in greyscale before printing, and design QR codes in luminance terms — dark modules, light background, at least 40% difference.

Source: https://useqr.app/docs/troubleshooting/qr-code-disappears-in-black-and-white-printing · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## Hue dies in mono — only luminance survives

Converting colour to greyscale keeps each pixel's brightness and discards its hue. The standard weighting is roughly **grey = 0.30 R + 0.59 G + 0.11 B** — green contributes most to perceived brightness, blue least. Two colours that look vividly different can carry almost identical luminance, and in mono they become almost identical greys.

QR decoders threshold on luminance too, so a code that survives only because of hue contrast was already marginal for cameras. Black-and-white printing does not create the fault — it removes the illusion.

## The classic ambush pairs

| On screen | After greyscale conversion |
|---|---|
| Pure red modules on pure blue | 30% grey on 11% grey — a 19-point gap, fails |
| Pure red modules on pure green | 30% grey on 59% grey — a 29-point gap, below the 40-point minimum |
| Mid brand-blue on warm grey | Often near-identical greys — vanishes completely |

The required margin is at least a **40% luminance difference** between modules and background — the full derivation is at [contrast ratio minimum](/docs/design/qr-code-contrast-ratio-minimum), and the colour-picking method at [colours that scan](/docs/design/qr-code-colors-that-scan).

## The greyscale preview test

Thirty seconds, before anything prints:

1. **In the design tool** — switch the document or proof view to greyscale, or export a greyscale copy. If the code fades, fix it now.
2. **In the office** — photocopy the piece and try to scan the copy. The photocopy test is the honest real-world equivalent, because flyers, menus and worksheets get photocopied whether you planned it or not.

## Where this bites

- **Office mono lasers** — many are configured to print everything in greyscale by default.
- **Photocopied handouts** — a second generation of luminance loss on top of the first.
- **Newsprint and mono ad placements** — colour artwork supplied to a mono section.
- **Thermal receipt printers** — these are 1-bit devices with no grey at all: mid-tones come out as dither noise that shreds module edges. Details at [thermal printer QR codes](/docs/print/thermal-printer-qr-codes).

CMYK conversion has its own version of this trap — a screen colour rebuilding as a weak ink mix — covered at [QR codes in CMYK print](/docs/print/qr-code-in-cmyk-print).

## The rule

Design in luminance terms from the start: dark modules, light background, **≥ 40%** luminance difference — and **100% K on paper white** for anything that might ever be mono-printed or photocopied. Our [validator](/validate) computes the actual luminance contrast of your chosen colours and decodes the rendered result, which settles the question before a printer does.

## FAQ

### Why does my colour QR code not scan after photocopying?
The photocopy converted it to greyscale, and your module and background colours mapped to similar greys. Hue contrast does not survive mono reproduction — only a luminance difference of 40% or more does.

### What colours are safe for black-and-white printing?
Black modules on a white background — 100% K in print terms. Any dark-on-light pair with at least a 40% luminance difference also survives, but pure black on white is the only choice with no failure mode.

### How do I check a QR code will survive greyscale?
Preview or export the artwork in greyscale and look at the code, or photocopy a printed sample and scan the copy. If module and background greys look similar to your eye, a decoder will struggle too.

### Why does red on green fail when the colours look so different?
Because they differ in hue, not brightness. Greyscale keeps brightness only — red converts to about 30% grey and green to about 59% — a 29-point gap, under the 40-point minimum a decoder needs reliably.

## Try it

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