How to Put a QR Code on a Poster That Scans

Putting a QR code on a poster comes down to three things: generating the right type of code, sizing it for the scanning distance, and exporting it in a format that stays sharp at large print sizes. Get any of these wrong and people either can’t scan it or won’t bother trying. Here’s how to handle each step.

Choose a Dynamic Code Before You Generate

Before you design anything, decide whether you need a static or dynamic QR code. A static code permanently embeds a URL directly into the pattern. Once it’s printed, that destination can never change. If the link breaks or you typed it wrong, you’re reprinting the poster.

A dynamic QR code stores a short redirect URL instead. You can swap the destination at any time through a dashboard, even after hundreds of posters are hanging in the wild. Dynamic codes also track scan counts, device types, locations, and timestamps. For any poster campaign where you want performance data or flexibility, dynamic is the clear choice. Most QR code generators (Uniqode, QRCodeChimp, Bitly, and others) offer dynamic codes, though many require a paid plan.

Keep the URL Short

QR codes come in 40 “versions,” ranging from a 21×21 grid of tiny squares (called modules) up to a dense 177×177 grid. The more data you encode, the more modules the code needs. A long URL packed with tracking parameters creates a denser pattern with smaller modules, which is harder to scan reliably at a distance.

Use a short, clean URL whenever possible. If you’re using a dynamic QR code, this happens automatically since the encoded URL is just a short redirect. For static codes, shorten the link with a URL shortener first, or point to a concise domain. Fewer characters means a simpler code and a wider margin for successful scans.

Size the Code for Scanning Distance

The standard rule is a 10:1 ratio between scanning distance and code size. Divide the expected scanning distance by 10 to get the minimum QR code dimension.

  • Poster on a wall in a hallway (scanned from 3 feet / ~90 cm): code should be at least 3.5 inches (9 cm) per side
  • Poster behind a counter (scanned from 1.5 feet / ~45 cm): at least 1.8 inches (4.5 cm)
  • Large banner across a room (scanned from 10 feet / ~300 cm): at least 12 inches (30 cm)

These are minimums. Going slightly larger costs you nothing and makes scanning faster, especially in less-than-ideal lighting. For a standard poster displayed on a bulletin board or shop window, a QR code between 3 and 5 inches square covers most real-world distances comfortably.

Export as a Vector File

This is where many people trip up. QR code generators typically let you download in PNG (a pixel-based format) or SVG/EPS/PDF (vector formats). For posters, always export as SVG or another vector format.

A PNG stores the code as a fixed grid of pixels. Enlarge it for a poster and the edges soften or pixelate, which can interfere with scanning. An SVG stores mathematical instructions for drawing each shape, so it scales to any size with perfectly crisp edges. Whether you’re printing an 11×17 flyer or a 3-foot banner, the code stays razor-sharp. SVG files drop directly into design software like Adobe Illustrator, InDesign, Canva, or Affinity Publisher.

If your generator only offers PNG, export at the highest resolution available (at least 300 DPI at your target print size) and avoid resizing it upward in your layout.

Respect the Quiet Zone

Every QR code needs a blank border around it called the quiet zone. The standard requires a minimum of four modules wide on all sides. In practical terms, that means leaving a margin of empty space at least as wide as four of the small squares that make up the code.

This buffer helps the phone’s camera distinguish the code from surrounding graphics. If your poster design crowds text, images, or a busy background right up against the code, scanners may fail to detect it. When placing the code in your layout, don’t let any design elements creep into that quiet zone. A simple way to check: if you can draw a visible white border around the code that’s roughly one-tenth the code’s total width, you’re in good shape.

Get the Color Contrast Right

Dark modules on a light background is the standard for a reason. Phone cameras read QR codes by measuring the reflectance difference between the dark and light areas. Industry specifications recommend a contrast signal of at least 80% for reliable scanning.

Several color combinations look fine to the human eye but fail scanners:

  • Red, orange, or yellow modules on a white background: These warm colors reflect light at similar wavelengths as white, so the scanner can’t distinguish them.
  • Dark modules on a dark background: Black on navy blue, black on dark green, or black on brown all absorb light similarly, producing almost no contrast.
  • Light modules on a dark background (inverted codes): Most phone cameras handle this now, but older devices and some apps still struggle with reversed polarity.
  • Metallic inks, holographic finishes, or glossy overlays: These create variable reflectance that confuses scanners.

The safest choice is always black modules on a white or very light background. If your brand colors demand something different, use a dark, cool-toned color (dark blue, dark green, black) for the modules and a very light color (white, cream, light gray) for the background. Test it with at least two or three different phones before sending to print.

Place It Where People Can Reach It

Position matters as much as design. A QR code at the very bottom of a poster that’s mounted high on a wall puts the code too far from the scanner. Place the code in the lower-third of the poster if it’ll hang at eye level, or center it if the poster will be mounted above head height. The goal is to put the code at a natural phone-holding distance, roughly chest to eye height for the average person standing in front of it.

Give the code a clear visual cue. A small line of text like “Scan for tickets” or “Scan to learn more” tells people what they’ll get. QR codes without context get ignored. People want to know the payoff before they pull out their phone.

Test Before You Print

Print a single proof at full size before running the entire batch. Scan it with at least three different phones: an older model, a current iPhone, and a current Android. Scan in bright light and dim light. Scan from the distance you expect people to actually stand at. If any phone hesitates or fails, increase the code size, simplify the URL, or boost the contrast.

Also verify the destination. Open the link and confirm it loads correctly on mobile. A perfectly scannable QR code that leads to a broken page, a non-mobile-friendly site, or a generic homepage wastes the effort of everyone who scanned it. Make the landing page fast, mobile-optimized, and directly relevant to whatever the poster promised.