# QR code quiet zone too small

> A missing quiet zone causes a detection failure, not a decode failure: the scanner never finds the code, so error correction never gets a chance. The specification requires a blank margin of four modules on every side, in the background colour. Borders, text, dark page backgrounds and tight CSS padding are the usual offenders.

Source: https://useqr.app/docs/troubleshooting/qr-code-quiet-zone-too-small · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## A detection failure, not a decode failure

Before a decoder reads a single bit, it has to *find* the symbol. It does that by scanning the image for the three [finder patterns](/glossary/finder-pattern), looking for their characteristic **1:1:3:1:1** dark-light ratio along scan lines. The [quiet zone](/glossary/quiet-zone) is what isolates that ratio from the surrounding page. Remove it, and neighbouring ink runs into the pattern, the ratio never matches, and the symbol is never located.

That is why this failure looks total: no banner, no error, no reaction. Error correction never enters the picture, because error correction only operates on a symbol that has been found.

## The rule, in real units

[ISO/IEC 18004](/glossary/iso-18004) requires a margin of at least **4 modules on every side**, in the code's background colour. Because it is measured in modules, it scales with the code:

- A 3 cm version 3 code is 29 modules across, so each module is **1.03 mm** and the quiet zone must be at least **4.1 mm** per side.
- A designer's fixed "2 mm padding" preset is under two modules here: the code often will not be detected at all.

## The usual offenders

1. **The crop.** Someone trims "the empty space" from the exported image because it looks wasted. It is load-bearing.
2. **Decorative borders and frames** placed tight against the pattern. A frame or "Scan me" label needs its own internal padding: see [frames and CTA labels](/docs/design/qr-code-frames-and-cta-labels).
3. **Dark page backgrounds.** The quiet zone must match the code's *light background*. A code block dropped straight onto a navy page has a dark margin, which is no margin. The fix is a light panel behind the code that extends at least 4 modules beyond it on every side.
4. **Zero padding on the web.** A CSS container clipping the image, or an export with `margin=0`, then placed against coloured UI.
5. **Downstream crops**: social media thumbnails, document margins, [printer clipping](/docs/troubleshooting/qr-code-cropped-by-a-printer).

## Fixes

- Export with the margin **baked into the file**: keep the generator's margin setting at 4 modules or more, so no downstream layout can accidentally remove it.
- On dark designs, use a light panel behind the code rather than inverting the colours.
- Keep every frame, border and caption outside the margin, not touching it.
- The deeper spec detail, including Micro QR's smaller 2-module requirement, lives at [quiet zone requirements](/docs/spec/quiet-zone-requirements).

## Verify it

Our [validator](/validate) renders your artwork, measures the actual margin and decodes the result. It flags a starved quiet zone before print does. The real-world test: photograph the code slightly off-angle on a busy background and check it still decodes with our [scanner](/scan), because a generous quiet zone is exactly what makes that case work.

## FAQ

### How much white space does a QR code need around it?
At least four modules on every side, in the background colour. For a typical 3 cm code that is roughly 4 mm per side. It is measured in modules, so bigger codes need proportionally bigger margins.

### Does the quiet zone have to be white?
No: it has to match the code's light background colour and stay clear of any ink, pattern or text. On a cream flyer, a cream quiet zone is correct. What it can never be is dark.

### Why does my QR code not scan even though the pattern is undamaged?
Very likely a quiet-zone failure. Without the blank margin the scanner cannot locate the finder patterns, so a perfectly intact symbol produces no reaction at all, which is exactly how this fault presents.

### Can error correction compensate for a missing quiet zone?
No. Error correction repairs damage inside a symbol that has already been detected. A missing quiet zone prevents detection itself, which happens before any error correction runs.

## Try it

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