Blog
QR codes for print: the settings that decide whether it scans
Vector not raster, four modules of quiet zone, dark on light, and a destination you can still change after 8,000 flyers are on a table.
By Wasim Idrishi · Updated · 4 min read
The QR code on the flyer is the one design element nobody proofs. It looks like a QR code in the PDF, so it goes to print, and the failure shows up four weeks later as a number that never moved.
Five things decide whether it scans. None of them is the design.
Print the vector, not the picture
A QR symbol is a grid of squares with hard edges. Scale a 512-pixel PNG to fill a 60 mm square on an A4 flyer and the press reproduces soft, grey-edged squares that a camera has to guess at in bad light.
Every gc.mw link serves both. gc.mw/abcd.qr is a PNG for screens; gc.mw/abcd.svg is the vector, and it is what
belongs in the print file. Both accept the same options: ?size= between 96 and 2048 pixels for the PNG, and
?fg= and ?bg= as six-digit hex colours for either.
Leave the quiet zone alone
ISO/IEC 18004 requires a clear margin of four modules on all four sides of the symbol — a module being one of the small squares. It is part of the code, not padding around it, and it is what tells the scanner where the symbol stops.
The SVG we serve carries a two-module margin of its own, so leave at least two more modules of clear space in your layout. In practice: nothing inside a border equal to about a tenth of the code's width. No text, no logo, no rule, no photograph bleeding under it.
This is the most common real-world failure we see. Designers treat the code as an image with generous internal padding and crop right up to the black.
Contrast, and only one direction
Dark modules on a light background. That is the assumption in the specification and in every scanner built on it.
Coloured codes are fine within limits: a dark navy or a deep brand green on white scans as reliably as black. Test the pair by converting both to greyscale — if the difference is not obvious in grey, the camera will not see it either. Avoid pale codes on white, dark codes on dark, gradients across the modules, and codes printed over photographs.
Choose the size from the scanning distance
The working rule is ten to one: the code should be roughly one tenth as wide as the distance it will be scanned from. A table tent read at 40 cm needs about 4 cm of code. A window poster read from 3 m needs 30 cm.
Add a margin for reality. Shop lighting is poor, phones are held at an angle, and printed material is often laminated and reflective. When in doubt print it larger — nobody has ever complained that a QR code was too easy to scan.
Make the destination changeable before you print
Create the short link first
Shorten the destination on gc.mw. If you do it signed out, claim it into an account before the file goes to press — an anonymous link stops working after 30 days, which is shorter than most print runs stay in circulation.
Download the SVG from the link
Open the link with
.svgon the end, or use the QR panel in the dashboard, which previews the exact image you will download. Set the colours there rather than recolouring the file afterwards.Test the real print, not the PDF
Print one at final size on the final stock, scan it with an old phone in bad light, from the distance a customer will actually stand. This is the step people skip.
Edit the destination whenever you like
The printed code keeps pointing at the short link. Change the destination in the dashboard and every copy already in the world follows within about a second.
QR Code Generator
Open the full toolWhat you get back
Scans arrive tagged. The image encodes the short link with a marker on the end, so a visit through the printed code is recorded as a scan and not as a click or a referral — and the marker is stripped before the visitor reaches the destination, so it never pollutes their URL.
That single separation is what makes print measurable. Put a different short link on each placement — window, table, receipt, packaging — and at the end of the month you have a per-placement number instead of an opinion.
Questions people ask
PNG or SVG for a printer?
SVG, every time. A QR code is a grid of hard-edged squares; a raster image scaled up in a layout tool produces soft edges that a camera has to guess at. Add .svg to any gc.mw short link and you get the vector version. Keep PNG for screens and email.
Can I put my logo in the middle?
Yes, on plans that include branded QR. The logo covers at most 24 per cent of the code's width and error correction is forced to level H, which recovers about 30 per cent of the data — so the code still reads with the centre obscured. Anything larger than that is a code that scans on your desk and fails in a shop.
Does a printed QR code stop working if I change the link?
No. The code encodes the short link, not the destination, so editing the destination in the dashboard changes where every printed copy leads. That is the reason to print a short link rather than the real URL.
Can I invert the colours — light code on a dark background?
Do not. The specification assumes dark modules on a light background, and while some phone cameras cope, enough of them do not that an inverted code on 10,000 printed pieces is a real failure rate. Dark ink, light paper, and at least a 40 per cent difference in lightness between the two.
How do I know how many people scanned it?
The QR image encodes the short link with a marker on the end, so arrivals through the code are recorded as scans rather than clicks. They appear as QR scans on the analytics page and on the link's public stats page, next to but separate from the click total.
Sources
- ISO/IEC 18004:2015 — QR Code bar code symbology specification — checked 5 September 2026
- Denso Wave: QR Code versions and data capacity — checked 5 September 2026
Keep going
Try it with your own link
Paste a long link and get a 10-character gc.mw link with a QR code. No account needed for 30 days; free forever with one.