Print Size Calculator
Tell the calculator how far away the scanner will be, what the code is printed on, and how bright the room is — get the minimum size, module pitch, and printer DPI you need for a reliable scan. No uploads; everything runs in your browser.
How this calculator works
Industry rule of thumb: a QR code needs to be at least one-tenth of the scan distance to decode reliably on a typical phone camera. A 3 cm code decodes at about 30 cm; a 30 cm code decodes at about 3 m. We apply substrate and lighting penalties on top of that baseline.
For each module to be reliably distinguished, the module pitch (size of one black or white square) needs to be at least 0.3 mm on a phone camera and 0.2 mm on a dedicated industrial scanner. We derive the recommended print DPI from that pitch.
The quiet zone is the empty border around the code. ISO/IEC 18004 requires at least 4 modules — cutting this is the single most common reason a printed QR fails to scan.
When to ignore this calculator
Ignore it when: (a) you already know a scan distance that's worked for you before, (b) your scanner is industrial (laser/image reader) and has its own minimum spec, (c) your use case is damage-tolerance rather than distance — then bump ECC to H and print bigger than this recommends.
Substrate guide — what to change per surface
The calculator above bakes in a size penalty per substrate. Here is the reasoning behind each one, and the ECC / contrast tweaks to pair with the size change.
| Substrate | Size penalty | Recommended ECC | Notes |
|---|---|---|---|
| Matte / uncoated paper | Baseline | M (default) | Ideal surface. Cleanest contrast, camera sees full dynamic range. Default to this when the project permits. |
| Glossy / coated paper | +15% | Q | Glare rotates the decodable window. Test the print under real lighting (direct ceiling downlight is the worst case) before running the job. |
| Laminated / plastic cards | +10% | Q | Matte lamination only — gloss lamination adds a second reflective layer and can double the glare penalty. Avoid printing across the card's radius or edge bevel. |
| Metallic / foil-stamped | +25% | H | Scanner sees the brushed texture as noise in the module grid. Keep the QR on a printed solid background (not on bare foil) where possible. |
| Curved / wrapped (bottles, mugs) | +20% | H | The scanner only sees the centre stripe of a wrapped code. Place the QR where the radius is largest and the angle shallowest; avoid printing on the seam or a handle side. |
| Textured / fabric / kraft | +30% | H | Fibre bleed closes thin modules. Use thicker ink coverage and oversize the quiet zone by 50%. Expect reject rates above 10% without a scan test. |
| Direct-on-metal / laser-etched | Spec-dependent | H | Data Matrix is usually the better symbology here (ISO/IEC 29158 DPM quality grading). If QR is required, verify module contrast with a Verifier, not a phone. |
| Shrink-wrapped / plasticized film | +20% | H | The film distorts during shrink — compute for the final dimensions after shrinkage, not the flat artwork. |
CMYK-safe palette — colours that survive offset and digital print
RGB values on a screen routinely become muddy or off-hue in CMYK. A QR with a styled eye or a coloured module risks dropping contrast below the 40% luminance minimum the QR standard requires. Three rules for styled codes:
- Keep modules dark, background light. Pure black (C0 M0 Y0 K100) on white paper is the only combination guaranteed to grade A. Any dark-blue or dark-green module adds variance.
- Gradients rarely survive CMYK. A clean RGB gradient becomes a banded CMYK gradient under cheap printers. Abundera QR's gradient styles pass light-to-dark tests but fail hue-to-hue ones. If the job is offset-printed, pick a flat module colour.
- Always soft-proof. Export the QR as SVG, open in Illustrator or Affinity, apply the intended CMYK profile (usually Fogra39 or SWOP), and scan the soft-proof at 100% zoom. The QR Lab also has a CMYK preview that approximates this.
Templates in our style catalog that are CMYK-safe (flagged in the template picker): high-contrast, mono, newsprint, kraft, swiss, brutalist. Templates that require RGB-only (screen, app, digital display): aurora, prism, glassmorph, neon.
Outdoor & signage — the 10× rule, weather, UV
The single most useful field rule for exterior QRs: the code should be at least one tenth of the distance from the scanner. A QR viewed from 5 metres needs a 50 cm code. A highway billboard viewed from 30 m needs a 3 m code (assuming the vehicle is stopped — moving scans are unreliable at any size).
- UV fade. Solvent inks on outdoor vinyl lose ~5% contrast per year in direct sun. Bump to ECC H and plan a re-print cycle at year 3.
- Water & ice. Unlaminated prints blister; laminated prints trap condensation as a greyish film. Use an exterior-grade vinyl with matte overlaminate. Avoid mesh substrates for QRs — the perforations read as inverted modules.
- Temperature. Below 0 °C, phone cameras hunt for focus longer and autoexposure drifts. Oversize outdoor codes by 15–20% over the calculator output to keep scans under 2 seconds at any temperature.
- Scanner stand-off. People read signage from the side, not head-on. Codes on poles or over doorways should be oversized a further 15% to tolerate a 30° oblique scan angle.
- Avoid glass backings. A QR adhered to the inside of a window fights reflection from whatever is across the street. If the code must go in a window, place it on the outside with an anti-graffiti overlaminate.
Printable QA pack
Before running a big print job, print one copy on the final substrate, at the final size, with the final ink coverage, and run the four-check QA below. A <10 minute test saves the 10,000-sticker re-run.
- Phone-camera scan at distance. Stand at the intended scan distance. Scan with a native iOS camera and a native Android camera (both — they grade differently). The decoded URL must match the source URL with zero manual intervention.
- Oblique-angle scan. Scan from 30° left, 30° right, and 30° above. A QR that only reads head-on will miss half of its public scans.
- Low-light scan. Cover the code with your hand to cut ambient light ~50%. A production code must still scan in under 2 seconds.
- Test-vector cross-check. Print the Abundera QR test vectors on the same substrate and confirm every published vector decodes. If any test-vector fails but the real QR passes, the real QR is operating inside a narrow margin and will fail in the field.
Log the date, substrate, printer, ink, the decode rate across the four tests, and the phone models used. Keep the log with the print order for recovery if the job fails downstream.
Preflight grades in plain English
When the generator assigns a grade (A / B / C / D / F) it is compressing a dozen measurements into one letter. Here is what each grade means for printing:
- A
- Will scan on anything, at any sensible distance, on any substrate, under any realistic lighting. Green-light for a 10,000-unit print run without a pilot.
- B
- Will scan on most phones in normal conditions. Print the pilot, confirm on one iPhone and one cheap Android, then proceed. Small risk on glossy finishes or in direct sun.
- C
- Borderline. Will fail on 10–20% of scans in adverse conditions (glare, glossy signage, 3+ metre distance, cheap camera). Print, verify on the substrate, and either accept the failure rate or size up.
- D
- Will fail on glossy signage under 3 m. Will fail on textured substrates. Will fail in direct sun. Do not print at this size; oversize by at least 30% or bump ECC to H.
- F
- Not expected to decode reliably on any substrate at any distance. The calculator or the Lab has exceeded a hard constraint (below 0.2 mm module pitch, below 4-module quiet zone, below 40% luminance contrast, or above 80% payload density). Fix the underlying constraint before printing.