Skip to content
FlashScan Pro

QR codes for print marketing: flyers, packaging, and menus

A QR code on a flyer or a package succeeds or fails at print time: placement, size, call to action, and the pre-print test that saves print runs.

Printing decides everything

A QR code that works on screen can become unreadable once printed: ink bleeding on absorbent paper, a code shrunk to a centimeter, contrast lost on a colored background. On print there is no second chance — the flyer goes to a thousand-copy run with its flaws baked in. Most of the work therefore happens before the file reaches the printer.

Size is a function of scan distance

The practical rule: the farther the reader, the bigger the code. On a flyer or a menu held in hand, 2 cm (about 0.8 in) per side is a comfortable minimum; on a poster scanned from two meters away, plan for at least 8–10 cm. Never infer size from the screen — print a test page at scale and scan at real distance. The full distance-to-size ratios are in the print size guide.

Placement: flat face, quiet zone, call to action

  • Flat surface: a code folded over a package edge or squeezed into a pouch seam deforms and becomes hard to read. Give it a fully flat face.
  • Quiet zone: leave a white margin of at least four modules around the code — no text or logo may intrude.
  • Call to action: a bare code doesn’t say why anyone should scan it. “Scan for the menu”, “Video instructions”, “10% off your first order” concretely double the scan rate.
  • Height and light: on a poster, place the code at eye level rather than at floor level, and plan for the venue’s real lighting.

Static or dynamic?

A static code embeds the target directly: ideal for a link to your site, a menu, a vCard — nothing can expire or be cut off by a third party. A dynamic code goes through a redirection URL that lets you change the target after printing and count scans, but makes you dependent on the service hosting that redirect. For long-lived print (packaging, signage), static is the safe choice; the full comparison is in static vs dynamic QR codes.

Colors, logo, contrast

Customized codes scan less reliably than black on white — no reason to avoid it, but reason to follow the rules: dark modules on a light background, never the reverse, and strong contrast between the two. The detailed recommendations (and the pitfalls of inversion) are in colored QR codes; if you add a logo, raise the error correction — see QR code with logo.

The pre-print checklist

  1. Vector format: export the code as SVG for the printer — an enlarged PNG pixelates, an SVG stays sharp at any size.
  2. Full-scale test page: print it, then scan with at least two different phones, at real distance, in real lighting.
  3. Final target verified: open the decoded link — that’s the one being printed a thousand times, not the one you meant to use.
  4. Quiet zone intact in the final layout, not just in your source file.
  5. Error correction raised if a logo or graphic covers part of the code.