Skip to content

← Blog

Printing a QR code: mistakes to avoid before you approve the proof

· 7 min read

A community group has flyers printed for its neighbourhood festival. On the day they are handed out, someone tries to scan the QR code: nothing happens. The code looks nice, in the group's colours, but it is too pale to be read. The flyers are already printed.

This guide goes through the most common mistakes to check before you approve the proof. The advice applies whatever tool you use to create your code, whether you run a shop, work as a designer or own a print business.

Before the design: what the code should open

A temporary destination

A QR code contains an address. If it leads to a specific file, a temporary page or a link you plan to change, the printed code will always lead to that exact address.

Before printing, ask yourself whether this destination will still be the right one in a few months. If not, you need an address that will never change, or a dynamic code whose destination can be edited after printing. The difference is explained in our article Static or dynamic QR code.

Content that is hard to read on a phone

The code works, but the page that opens is a PDF designed for an A4 sheet, with tiny text. The reader zooms in, gets lost and gives up.

Open the destination on your own phone, as a stranger would:

  • can the text be read without zooming?
  • does the page open quickly, even on a weak signal?
  • is what people are looking for visible right away?

And add a line next to the code saying what people will find when they scan it: 'Scan to see the programme'.

Design mistakes

Too little contrast

A phone looks for dark squares on a light background. Typical mistakes:

  • a light grey, yellow or pastel code on a white background;
  • a code placed over a photo or a pattern;
  • an inverted code, light on a dark background: some phones struggle to read it.

Keep the code dark on a plain, light background. Your brand colours belong in the frame, the line next to the code or the rest of the design.

A trimmed white margin

Around the code, you need an empty margin in the background colour, called the 'quiet zone'. It tells the phone where the code starts and ends.

It often disappears during layout: the image is cropped to save space, or the code is pushed against an edge, a rule or some text. If your file already includes a margin, do not trim it.

A logo that is too large, or a code that is over-decorated

A QR code can cope with a small part being hidden: that is what lets you place a logo in the centre. But this tolerance has limits. A logo that is too large, squares that are too rounded, redrawn corner markers or a gradient can make the code unreadable on some phones.

Test every customisation. If the code takes a while to be recognised, make the logo smaller or go back to a more classic look.

A code too small for the reading distance

There is no size that works everywhere. It depends on the reading distance, the lighting and how much information the code contains: the longer the address, the more small squares the code has, and the larger it needs to be.

A code on a business card is read at arm's length; on a poster, from the pavement. Test at the real distance.

Surface mistakes

A glossy finish

Gloss lamination, varnish or laminating pouches reflect light from lamps and the sun. The glare lands on the code and the phone can no longer see it. Choose a matt finish, at least where the code sits.

A curved, folded or tricky surface

On a bottle, a cup or a bag, the code gets distorted. On a folded flyer, the fold can run right through it. Heavily textured paper, fabric, wood or glass also change the contrast.

Place the code on a flat area, away from folds, and run a test on the real material before printing the whole batch.

File mistakes

A blurred or stretched image

A QR code copied from a screenshot and then enlarged ends up with blurred edges. Use the original file, in the sharpest format your tool offers, and a vector format if your printer needs one.

A code must also stay square. Stretched or retouched, it can become unreadable. Recoloured by hand or converted to print colours without checking, it can lose contrast. Scan it again after every change.

The wrong code in the final file

Across several versions of a layout, an old code, or one from another project, can end up in the file sent to the printer. Scan the code on the proof, not just on your layout.

The test before you approve the proof

Several phones, in real conditions

Test with an iPhone and an Android phone, recent and older ones, using the camera, as a passer-by would, without a dedicated app. Print a proof at final size, on paper close to the final material, and scan it where it will be used, in the real lighting.

Checklist

☐ The code opens on the first try on every phone tested: iPhone and Android, recent and older ones.

☐ It can be read at the real distance, in the real lighting.

☐ It is dark on a plain, light background, with the quiet zone intact on all four sides.

☐ The logo and customisations do not get in the way of reading.

☐ The surface does not reflect light; the code is neither curved nor folded.

☐ The code leads to the right destination, up to date and readable on a phone.

☐ A line next to the code says what people will find when they scan.

Printers and agencies: two questions to ask your client

  • Is the destination final? If the client plans to change the link, a dynamic code will save them a reprint.
  • If the code is dynamic, who manages it, and what happens to it if the subscription ends? Some services switch codes off at the end of a trial period. It is better to know before printing.

Preparing a QR code for print with Scanoa

Scanoa creates dynamic QR codes: the printed code stays the same, and you change its destination, or even its content type, whenever you want. You can customise the colours and add a logo in the centre; the app warns you when the logo hides too much of the code. Test the result before printing all the same.

You see how many times your code is scanned, without tracking: the IP address is never stored and no cookie is set when scanning. Data is hosted in Europe.

Static QR codes are free and unlimited, and never expire, even without a subscription. Free plan with 3 dynamic QR codes. No card needed. On the Free plan, beyond 1,000 scans in a month, your dynamic QR codes are paused until the 1st of the next month; people who scan them see a page saying they are temporarily unavailable. A paid plan reactivates them right away, with unlimited scans.

Frequently asked questions

Can you put a logo in the centre of a QR code?

Yes, as long as it stays small. Test the code on several phones after adding it; if it is slow to scan, make the logo smaller.

What is the minimum size for a QR code?

There is no single size: it depends on the reading distance and the length of the address. Print a proof at final size and test it at the real distance.

What if the destination changes after printing?

With a static code, you have to reprint, or keep the same address and replace what is there. With a dynamic code, you change the destination without touching the printed material.

What happens to a Scanoa dynamic code if I stop paying?

Nothing is deleted. If you cancel, your workspace goes back to the Free plan: your oldest dynamic QR codes stay active up to its limit, the others are paused until you subscribe again. Static codes always keep working.


A few minutes of testing before you approve the proof cost less than a batch you have to reprint.

Create your QR code, test it before printing, and change its destination whenever you want. Free plan with 3 dynamic QR codes. No card needed.

Create my free QR code