The 10:1 rule — scan distance determines size

The most practical rule of thumb for QR code sizing is the 10:1 ratio: your QR code should be at least one-tenth the distance from which someone will scan it. If a customer stands 30cm away (a business card held in hand), the code needs to be at least 3cm wide. If they're standing 1 metre away (a table menu or A4 flyer), aim for at least 10cm.

Most phone cameras can resolve smaller codes at close range, but the 10:1 rule gives you a comfortable margin for low-light conditions, older devices, and printing imperfections.

Size recommendations by material

Different print materials have different expected scan distances. Here are the recommended sizes for the most common use cases:

Material Min. size Recommended size Expected scan distance
Business card1.5 cm × 1.5 cm2.5 cm × 2.5 cm20–30 cm
Flyer / A5 leaflet2.5 cm × 2.5 cm3–4 cm × 3–4 cm30–50 cm
A4 poster / menu3 cm × 3 cm4–6 cm × 4–6 cm50–80 cm
Table tent / card3 cm × 3 cm4 cm × 4 cm40–60 cm
A3 / A2 poster5 cm × 5 cm8–10 cm × 8–10 cm80–150 cm
Shop window / banner10 cm × 10 cm15–20 cm × 15–20 cm150–300 cm
Billboard / large sign30 cm × 30 cm40–60 cm × 40–60 cm300–600 cm

Quiet zone matters: always leave a margin of at least 4 modules (the individual squares) of white space around the entire QR code. Most generators add this automatically, but if you're cropping or overlapping the code onto a design, make sure you preserve this border.

How URL complexity affects size

Longer URLs create more complex QR codes with more modules (the black and white squares). A more complex code is harder to scan at the same physical size. If your URL is long, you have two options:

Resolution: what DPI should you use?

For digital screens and online use, 72 PPI is standard. For print, you need a minimum of 300 DPI (dots per inch) to avoid visible pixelation. At 300 DPI, a 3cm QR code needs to be at least 354 × 354 pixels in the source file.

FlexQRSnapper exports a 512 × 512 pixel PNG by default. At 300 DPI, this gives you a clean print size of approximately 4.3 cm × 4.3 cm. For larger prints, request SVG format from a vector-capable generator, or scale from the FlexQRSnapper PNG — since QR codes are binary (black or white pixels), they scale well without blurring as long as you use nearest-neighbour interpolation rather than bilinear smoothing.

Quick DPI reference

Print sizeMin. pixels at 300 DPIFlexQRSnapper 512px is sufficient?
2 cm × 2 cm236 × 236 pxYes
3 cm × 3 cm354 × 354 pxYes
4.3 cm × 4.3 cm508 × 508 pxYes (exact fit)
5 cm × 5 cm591 × 591 pxClose — slight upscale needed
10 cm × 10 cm1181 × 1181 pxNo — use SVG or upscale carefully

Common mistakes that cause scan failures

Should you add a call-to-action?

Yes — where space allows. A short label beneath the QR code ("Scan to view menu" or "Scan for 10% off") increases scan rates significantly. People are less likely to scan a QR code with no context about what it does. Even a 2–3 word prompt makes a meaningful difference to conversion.

Always test before printing at scale. Print a single test copy, scan it in the same lighting and at the same distance a real user would, before committing to a large print run. A scan failure discovered after 500 menus are printed is an expensive mistake.

Ready to generate your QR code?

Create a free, watermark-free, 512px PNG QR code in seconds — no account needed.

Generate your QR code →