Best practices

QR code design best practices

A code that does not scan is a dead end. These rules keep your QR patterns readable on posters, packaging, and screens.

The golden rule: high contrast

Keep strong contrast between the dark modules (foreground) and the light background. The background should read clearly as lighter than the code. Scanners use that difference to find the finder patterns quickly.

1. Mind the minimum size

For print, aim for at least about 2 × 2 cm (about 0.8 in) for the code itself when viewed at arm's length. For farther viewing distances, scale up. A rough rule some teams use is about a 10:1 ratio of distance to module width (for example, a code viewed from about 10 m might need on the order of 1 m wide). Treat this as a starting point and always test in place.

2. Do not crowd the quiet zone

The quiet zone is the empty margin around the QR pattern. It tells the camera where the code starts and ends. Do not put text, other graphics, or folds through that margin. qrqr.fyi adds a safe margin by default so you start from a sensible baseline.

Watch dense payloads

More data means more modules in the same space, which can be harder for older phones or poor lighting. Long URLs are a common culprit. Prefer a shorter destination URL, or use a dynamic QR code (Pro) so the printed pattern stays simple while you can change the target later.

3. Test before you print

Before a launch, test with:

  • More than one phone (iOS Camera, Android camera or Lens)
  • A popular third-party scanner app
  • Dim and bright light
  • The real distance and angle people will use

4. Logos and error correction

A small center mark can improve trust if it does not cover key modules. Use a high error correction level (for example level H, which can recover a large fraction of damaged or covered data) when you add artwork in the middle.

On qrqr.fyi, uploading a custom center logo is a Pro feature. Free codes still support strong styling for colors and patterns without a custom image in the center.