Appy
← Back to Blog
Checklist

QR Code Print Checklist for App Campaigns: 29 Checks Before You Sign the Proof

A printed QR code can’t be patched. The checks to run before packaging, posters or a TV spot go to print: the link inside the code, logo and error correction, prepress, materials, placement and who signs off on what. With the numbers from Denso Wave and GS1, and the half of the list Appy handles for you.

October 9, 2026•9 min read

Why a print run needs its own checklist

A web page with a typo gets fixed in a minute. A QR code on 200,000 boxes stays exactly as it was printed until the last box is recycled. The design can be beautiful and the code can still fail on a glossy laminate, at a checkout scanner or on the phone of someone standing two metres away.

And the code is only half of it. On August 25, 2025, Firebase Dynamic Links shut down and every page.link address started returning 404, custom domains included. Any packaging that encoded one of those links has pointed nowhere since. Before the artwork, check what the code points to and who controls it.

This list is for the marketer who sends the file to the printer. It goes past the basics in our sizing guide and assigns every check to someone.

Four numbers to keep on the brief

empty margin on every side, per Denso Wave and GS1
4 modules

empty margin on every side, per Denso Wave and GS1

minimum symbol contrast in GS1’s guide; around 50% recommended
30%

minimum symbol contrast in GS1’s guide; around 50% recommended

smallest module a common laser printer can print, per Denso
0.17 mm

smallest module a common laser printer can print, per Denso

damage the highest error correction level (H) can recover
30%

damage the highest error correction level (H) can recover

What Appy takes off your list

A good part of this checklist isn’t about design. It depends on the tool that makes the code. With Appy, these checks are done before your designer opens the file.

01

Every phone to its own store

One code sends iPhones to the App Store, Android phones to Google Play, Huawei phones to AppGallery and computers to your website. On every plan, Free included.

02

A short link, so a lighter code

Every Appy code holds a short appy.to link instead of a long URL with UTM tags, so the grid stays small and easy to scan from a shelf or a couch.

03

Change it after printing

Swap the store links or the destination in the dashboard and every printed copy follows. No reprint, no sticker over the old code.

04

Never switched off

Appy doesn’t deactivate codes when a subscription ends, and every plan has unlimited scans with no ads in between.

05

Files your printer wants

Download SVG for print, or PNG and WEBP, with your logo and brand colours. On every plan.

06

Proof it works in the first 48 hours

Scans are counted from the first day. Pro shows them by device and country, so you see at once whether every platform is landing.

07

Your own domain on the box

On Business, codes can carry your own link domain, so the address inside the code is yours.

1. The link inside the code

Check these before anyone opens the design file. They decide whether the code still works in two years.

01

Know whose domain is encoded

Scan a test print and read the address. If it is a vendor’s domain, you depend on that vendor for the life of the print run. A domain you own can be repointed if you ever switch tools.

02

Ask what happens if you stop paying

Some QR vendors deactivate dynamic codes when a plan lapses; qr-code-generator.com says so on its own blog. On Trustpilot it had a TrustScore of 1.3 from 9,325 reviews when we checked on October 9, 2026, and reviewers describe codes that stopped working. Get the answer in writing.

03

Use a short link, not the long URL

A long URL with UTM tags makes a denser code. Encode a short link and keep the parameters on the link side, where you can change them later.

04

Route by device

One code for everyone: iPhone to the App Store, Android to Google Play, Huawei to AppGallery, computers to the website. Two codes side by side split attention and half the scans go to the wrong store.

05

Tag the placement

One link per placement (box, shelf talker, poster, TV) so you can tell later which one earned the installs.

06

Load-test the destination before mass reach

Coinbase reported more than 20 million landing page hits in one minute after its 2022 Super Bowl QR ad, and some users saw delays. If the code goes on TV, make sure the redirect and the page can take the spike.

How link length changes the code you print

A QR code grows in versions. Version 1 is a 21 × 21 grid and each version adds four modules per side. Denso Wave’s capacity table shows what that means for URLs: at error correction level M, a 20-character short link fits in version 2, a 25 × 25 grid. A 100-character URL with UTM parameters needs version 6, 41 × 41.

Print both at the same 2 cm width, quiet zone included, and the modules shrink from about 0.61 mm to 0.41 mm. Add a logo and switch to level H and the long URL jumps to version 10, with modules around 0.31 mm. The same artwork, a lot harder to scan from a shelf or a couch. That is the practical reason to put a short link in the code.

2. Logo and error correction: GS1’s test

A logo sits on top of data. The code only reads because error correction rebuilds what the logo covers. GS1 tested the same 16 mm logo at each level with an ISO verifier.

L (recovers ~7%)
Result with the logoFail, not detected
Code size~26 × 26 mm
M (~15%)
Result with the logoFail, all error correction used
Code size~29 × 29 mm
Q (~25%)
Result with the logoMarginal fail, 55% of it used
Code size~33 × 33 mm
H (~30%)
Result with the logoPass, 35% of it used
Code size~37 × 37 mm
Source: GS1 2D Barcode Colour & Quality Guide, February 2025, table 4-2. A logo costs you size, and the error correction it uses up can’t absorb scuffs later.

3. Design

01

Keep a four-module quiet zone, then a little more

Denso and GS1 both specify four modules of empty margin on every side, in the same colour as the code’s background. GS1 suggests a bit extra for production tolerances. Text and graphics creeping into the margin are a known cause of failed reads.

02

Logo only at level H, and never on the corners

If there is a logo, generate the code at H and accept the larger size. Error correction can’t repair the three corner squares or the timing patterns.

03

Dark code on a light background

Black on white is safest. GS1 asks for at least 30% contrast and recommends around 50%; a yellow code on white is its example of what fails.

04

No red if the pack also goes through a till

Phones read a red code, but checkout scanners light it with red light and can’t see it. GS1 recommends black, dark blue, dark green or dark brown for the code.

05

Don’t invert unless you have tested it

Light modules on a dark background are allowed by the standard, but support varies by phone and scanner. If the brand insists, test on several devices first.

06

One code per piece of artwork

With two codes in view, a phone camera jumps between them. The out-of-home association OAAA recommends a single code per creative.

4. Prepress

These are where a correct design becomes a bad print. Hand them to the designer and the printer together.

01

Send vector

SVG, EPS or PDF keeps module edges sharp at any size. If it has to be raster, export it at the final printed size at 300 dpi or more. Never enlarge a small PNG; Denso warns that resizing distorts the modules.

02

Print the code in 100% black

A four-colour black can misregister by a hair and blur every module edge. Trade printers ask for C0 M0 Y0 K100 on fine detail.

03

Watch the RGB-to-CMYK conversion

Adobe documents that RGB black can turn into four-colour black when a file is converted to CMYK. Check the separations, not just the screen.

04

Check overprint on tinted backgrounds

InDesign overprints 100% black by default, so the light modules show the background tint. Measure that the contrast still holds.

05

Size up on uncoated stock

On kraft, newsprint and uncoated paper, ink spreads and dark modules eat into the light ones. Research on printed QR codes shows dot gain hits small codes hardest. Go bigger and proof it.

06

Respect the module floor

Denso puts the smallest printable module on a laser printer at about 0.17 mm. For packaging that may also be scanned at a till, GS1’s retail range is 0.396 to 0.990 mm per module.

5. Material and placement

01

Avoid gloss where you can

GS1 warns that glossy and high-sheen surfaces reflect light over the code. Matte lamination scans better under a ceiling light. Scan after lamination, not before.

02

Metal and clear film need an opaque base

On cans and metallised film GS1 recommends a matte black code on a white area. On transparent film, print an opaque white box under the code.

03

Put it on the flattest panel

On bottles and cans, curvature distorts the grid. There is no published safe limit, so test the printed sample at the real diameter.

04

Mind the height on screens and posters

In the OAAA’s tests on screens mounted 53 inches up, codes in the top third scanned poorly from any distance. Put the code where a phone naturally points.

05

On TV and digital screens, keep it up the whole time

The IAB’s CTV guidelines say to keep the code visible for the full ad and large enough to scan from the couch, with a short line on what happens after the scan.

06

Say what the scan gives

Tell people what they get: “Scan to get the app”, not “Scan me”. Good data on how much a call to action lifts scans is thin, so test two versions with two links instead of trusting a percentage.

6. Testing and sign-off

Every check needs a name next to it. A code that scans on a monitor tells you little about the printed, laminated box on a shelf.

01

Designer: test the export

Scan the final file on screen with an iPhone and an Android phone before it leaves the studio.

02

Link owner: test the routing

Scan with an iPhone, an Android phone and, if relevant, a Huawei phone without Google services. Each should land in its own store. Open the code on a laptop to check the web fallback.

03

Printer: proof on the real material

A proof on the final stock, with the final lamination, at the final size. GS1 recommends an ISO verifier for packaging with branded codes.

04

QA: scan the proof like a customer would

At the real distance and angle, in dim light, with an older phone. iPhones scan with the Camera app since iOS 11; Google says Android 9 or later reads QR codes with the built-in camera.

05

Link owner: check the numbers after launch

Look at scans by device in the first 48 hours. If one platform is missing, something in the routing or the print is wrong, and it is still cheap to fix.

Read next

Print checklist questions

How big should the quiet zone around a QR code be?

Four modules on every side, in the same colour as the code’s background. Denso Wave, which invented the QR code, and GS1 both specify it, and GS1 suggests a little more for production tolerances.

Which error correction level should I use with a logo?

H. In GS1’s test the same 16 mm logo failed at L and M, marginally failed at Q and passed only at H, which made the code grow from about 26 mm to 37 mm.

Can a QR code be red?

Phones can read a red code, but checkout scanners use red light and can’t. If the pack goes through a till, use black, dark blue, dark green or dark brown.

Should I send the printer a PNG or an SVG?

An SVG, EPS or PDF. If you must use a raster file, export it at the final size at 300 dpi or more, and don’t enlarge it later.

Should the code be static or dynamic?

For print, a dynamic code lets you change the destination and count scans without reprinting. Check first that the codes keep working if you stop paying the vendor.

Why make the QR code with Appy?

Because the link-side checks are done for you: one code routes every phone to its own store, AppGallery included, it can be changed after printing, it is never switched off when a plan ends and it counts every scan. You get SVG, PNG and WEBP files with your logo on every plan.

Do Appy QR codes stop working if I cancel?

No. Appy doesn’t switch off links or QR codes when a subscription ends, and every plan has unlimited scans.

Continue exploring

Guide
Mar 16, 2026
8 min read

Best QR Code Size for Posters, Packaging, and App Campaigns

Choose the right QR code size for posters, packaging, flyers, and retail placements so scans convert into app installs.

qr code size
posters
packaging
offline campaigns
Read article
Comparison
Oct 9, 2026
6 min read

Bitly Alternative for App Links: Store Routing and Deep Links Without the $199 Plan

Bitly’s free links show an ad page, store routing sits on unnamed paid plans, Huawei isn’t supported and deep links start at $199 a month. How Appy compares, checked against Bitly’s own pages.

bitly alternative
comparison
deep links
qr codes
Read article
Guide
Oct 1, 2026
6 min read

Custom Domain Short Links for Apps: A Practical Guide

Why a link on your own domain is worth it, how to choose the hostname, the setup in three steps, and what happens to the links and QR codes you have already shared.

custom domain
branded short links
url shortener
qr codes
Read article

Looking for something else? Browse all topics on the blog.

Print it once. Keep it working.

Make the code with Appy before the artwork: every phone to its own store, editable after printing, never switched off when a plan ends. Free to start.