Back to Blog
March 03, 20265 min readqrtroubleshootingprintingmarketing

QR code not scanning? A practical troubleshooting checklist (size, contrast, quiet zone, and URLs)

If your QR code does not scan reliably, do not guess. Use this checklist to fix size, contrast, quiet zone, printing issues, and landing page problems before you reprint.

QR code not scanning? A practical troubleshooting checklist (size, contrast, quiet zone, and URLs)

If your QR code does not scan, it is almost never "random".

It is usually one of these:

  • the code is too small for the scanning distance
  • the contrast is too low
  • the quiet zone is missing
  • the code was distorted during printing
  • the destination loads slowly or fails on mobile

This post is a field-tested checklist you can run in 10 to 15 minutes.

If you want to fix a printed QR code without reprinting, start here:

  • /blog/dynamic-qr-code
  • /blog/editable-qr-code

TL;DR

  • Test on 3 phones, in real lighting, from the real scanning distance.
  • Keep a clean quiet zone. No borders, no text, no background texture.
  • Use high contrast. Dark code on a light background is the safe default.
  • Do not stretch the code. Keep it square.
  • Make the landing page fast and mobile-friendly.
  • If you already printed: use a dynamic QR redirect so you can fix the destination later.

Step 0: Confirm what kind of QR code you have

Before you troubleshoot, ask one question:

Is this a static QR code or a dynamic QR code?

  • Static QR code: encodes the final URL directly. You cannot change it later.
  • Dynamic QR code: points to a short link you control, which redirects to the final URL. You can change the destination later.

If you are doing marketing or printing, dynamic is usually the safer choice because mistakes are expensive.

Step 1: Validate the QR content

Open your QR code generator and confirm what is inside the code.

Common failure cases:

  • the URL is missing https
  • the URL contains a typo
  • the URL is too long and the QR becomes dense (harder to scan)
  • the URL redirects through multiple hops and ends up slow

If your QR encodes a very long URL, shorten it.

With QRShuffle you can create a short dynamic link and redirect to the long destination.

Step 2: Check the quiet zone (the most common print mistake)

The quiet zone is the empty margin around the QR code.

If you put anything in that margin, many scanners fail.

Examples of "quiet zone killers":

  • a decorative border
  • a background texture
  • a logo or sticker edge too close to the code
  • text like "scan me" touching the code

Fix:

  • leave a clear margin around the code
  • keep it consistent on all sides

More detail:

  • /blog/qr-quiet-zone-explained

Step 3: Check size vs scanning distance

Most people print the QR code too small.

A simple rule: the further away the scanner is, the larger the QR needs to be.

Real-world examples:

  • table tent: small is fine, distance is short
  • poster: needs to be much larger
  • billboard: needs to be huge

Fix:

  • increase the physical size
  • reduce the data density by shortening the URL

Useful references:

  • /blog/qr-code-size-scanning-distance
  • /blog/qr-code-size-guide-print-posters

Step 4: Contrast and colors

The safest combination is:

  • dark QR code
  • light background

If you invert colors (light code on dark background) you are taking a risk.

Common problems:

  • low contrast in indoor lighting
  • glossy paper creating glare
  • gradients inside the QR modules

Fix:

  • increase contrast
  • avoid gradients and textures inside the code
  • print a matte version if glare is common

More detail:

  • /blog/qr-design-contrast

Step 5: Distortion, stretching, and file handling

A QR code is a grid. If you stretch it, you break the grid.

Common distortion sources:

  • dragging the corners in Canva without locking aspect ratio
  • exporting at low resolution and letting the printer scale it
  • converting vectors to raster and compressing too aggressively

Fix:

  • keep the QR square
  • use the highest quality export
  • avoid repeated re-exports

If you can, use SVG for design tools and export to print at the final size.

Step 6: Print quality and surfaces

Even a perfect design can fail if printing is rough.

Watch out for:

  • fabric texture (shirts, banners)
  • curved surfaces (bottles, cups)
  • glossy lamination
  • low quality vinyl stickers

Fix:

  • increase size
  • increase error correction level if you add a logo
  • test on the actual surface before you print 5,000 copies

Step 7: The landing page is the hidden failure

Sometimes the QR scans fine, but the user experience is broken.

Common landing page issues:

  • page takes 5+ seconds on mobile
  • cookie banners block the CTA
  • deep links fail on iOS
  • the page is not mobile-friendly

Fix:

  • use a fast landing page
  • keep the first screen simple
  • avoid heavy scripts

More detail:

  • /blog/landing-page-speed-for-scans

Step 8: Test like a grown-up

A real test means:

  • 3 different phones (iPhone + Android)
  • different camera apps (native camera, Instagram, etc.)
  • real lighting (indoor and outdoor)
  • real distance

If it only works in your office, it does not work.

The fastest way to avoid reprints

If you are printing anything expensive, the best strategy is:

  • use a dynamic QR code
  • point it to a redirect you control
  • change destinations without reprinting

QRShuffle is built for exactly that.

You can create a dynamic QR in minutes, change the destination anytime, and track scans.

If you want to try it:

Next reads

  • /blog/dynamic-vs-static-qr-code
  • /blog/qr-code-redirect-best-practices
  • /blog/utm-tags-for-qr-codes

QRSHUFFLE • CREATE

Create a QR code with editable links.

Print once. Update the destination later. Track scans. No reprints.

Editable

Update links without reprinting

Trackable

Scan analytics + UTMs

Fast

Built for real-world scans