Skip to main content

How do I test a QR code before sending it to print?

Updated September 14, 2026 · 3 min read

Scan the exported file from your screen with at least two different phones, then scan the printer's physical proof in the light the code will live in. Open the destination on a phone rather than a desktop, and check the pattern has a clear margin and a dark-on-light contrast. Every real scan is recorded, so expect your analytics to start at a handful rather than zero.

Step 1: test the exported file

  1. Download the code and open the file full-screen on a laptop or tablet.
  2. Scan it with an iPhone and with an Android phone. Two phones catch problems one will not — the camera apps use different decoders.
  3. Scan it once more from about an arm's length away rather than right up against the screen.
  4. Check where it lands. Read the page as a visitor would: right destination, loads on mobile data, no broken images.

Test the exact file you are sending to the printer. A code that was re-exported, re-coloured or scaled by a design tool after your test is a different code.

Step 2: test the printer's proof

A screen flatters a QR code: it is backlit, flat and perfectly sharp. Paper is none of those things, so the proof is the test that matters.

  • Scan it in the light the code will actually be used in — a dim restaurant, a sunlit window, a fluorescent-lit corridor.
  • Scan it from the distance people will really stand at, not from 5 cm away.
  • If the piece is laminated, curved or glossy, scan it in that finished state. Gloss reflects the light the camera needs.
  • Scan it on a phone with a cracked or smudged lens if you have one. That is the phone half your audience is carrying.

What to check in the artwork

CheckWhat good looks like
SizeAt least 2 cm square hand-held; scanning distance ÷ 10 beyond that
MarginClear space on all four sides, about 10% of the code's width — no artwork, fold or trim line touching it
ContrastDark pattern on a light background. Inverted codes are read by far fewer phones
FrameIf you used a frame with text, confirm the trim has not cropped it or the code inside it
FileSVG or PDF for print. A raster file scaled up will show its edges
FinishNo spot varnish, foil or gloss laminate directly over the pattern

Do test scans count in my analytics?

Yes. A test scan is a real scan: it hits the same redirect, it is recorded, and it appears under People in analytics like any other. Repeat scans fired within a few seconds of each other are collapsed as repeats, but deliberate testing over several minutes will show up as separate scans.

Two ways to keep the numbers clean:

  • Test the destination without recording a scan. Copy the code's link from its detail page, paste it in a browser and add ?debug=true to the end. The redirect runs exactly as normal but nothing is written to analytics. This checks the destination, not the printed pattern — you still need a camera for that.
  • Test first, then note the starting number. Open the code's analytics after testing and treat that count as your baseline before the campaign goes live.

What is and is not counted is explained in scans by people versus not counted.

Common problems

It scans on my phone but not on a colleague's

That is the code operating right at its margin. Increase the printed size, widen the margin, or drop back from Dense or Ultra pattern density to Auto.

The proof scans but opens the wrong page

If the code is dynamic, open it, click Edit, fix the destination and click Update ✓ — no reprint needed. If it is static, the destination is baked into the pattern and the artwork has to be replaced.

Nothing happens when the camera sees it

Work through what to check when the camera sees the code but nothing happens. Low contrast, an oversized logo and a missing margin are the usual three.

Frequently asked questions

How many phones should I test with?

At least two, and ideally one iPhone and one Android. Different camera apps use different decoders, so a marginal code often fails on one and passes on the other.

Do my test scans show up in analytics?

Yes, they are recorded as real scans. To check a destination without recording anything, open the code's link in a browser with ?debug=true added to the end.

Can I test before I pay for the print run?

Always ask the printer for a physical proof and scan that. A screen test tells you the data is right; only paper tells you the print is.

My code is dynamic — do I still need to test?

Yes. Being dynamic means you can fix the destination later, but it cannot fix a pattern that is too small, too dense or printed with poor contrast.

Is a screenshot of the code good enough to send to the printer?

No. Download the SVG or PDF. A screenshot is a low-resolution raster and will break up when it is scaled.

Still stuck?

Email support@qrcodestack.com with the email on your account and, if it is about one code, its name or short link. A person replies within one business day, usually sooner.