Why QR codes fail in print more often than in digital
The scan rate on a QR code rendered in your browser at 400 pixels square is essentially 100%. The scan rate on the same QR code printed at 0.6 inches on matte uncoated stock under store fluorescents, scanned from 18 inches away on a five-year-old Android, is not 100%. Often it is not even 90%.
The gap is not the code. It is the print-production workflow drift between screen design and printed substrate. Each step adds a failure mode: the raster export downsamples the modules; the RGB-to-CMYK conversion bleeds the dark fill; the press registration shifts the dark slightly off-axis; the paper absorbs ink and fattens the modules into their own quiet zone; the lamination adds a diffusing layer; the in-store lighting throws glare. None of these are visible on your screen.
The designers who produce print-reliable QR codes are not the ones using the most advanced generator. They are the ones treating QR as a prepress problem, not a design problem. The code is generated once. The substrate, the color profile, the press settings, the ambient lighting, and the scanner-camera exposure compensation all conspire to either preserve or destroy the contrast and module geometry the code needs.
This guide walks the workflow stage by stage. For the operational depth on business cards, packaging, and the per-asset print-shop handoff, the print and business cards industry page is the companion. What you are reading now is the technical playbook: which file format, which color profile, which error correction level, which paper stock, which press process. And the vendor cancellation trap that quietly kills large print runs months after the press is done.
The six print formats and how QR considerations change across them
Print is not a single problem. A QR on a business card is a different design problem from a QR on a poster, which is a different problem from a QR on a vinyl banner. The scan distance dictates the minimum module size; the minimum module size dictates the print size; the print size dictates which artwork format and which error correction level will survive.
Business cards. Scan distance: handshake range, roughly 12–18 inches. Print size: 0.5–0.75 inches square is the practical floor. Below 0.5 inches scan reliability collapses on older phones; above 0.75 the QR dominates the card. vCard payload is dense, which means the modules are smaller than a short URL at the same code size; budget contrast accordingly. The vCard QR type page covers the payload structure.
Flyers and brochures. Scan distance: arm's-length, roughly 18–24 inches. Print size: 1 inch square is the workhorse default. Brochures unfold across multiple panels; place the QR on a flat panel away from the gutter where the fold curve would warp the modules at scan time.
Posters. Scan distance: across-the-room, often 6–15 feet. Print size: 4–8 inches square at the lower distance, larger at the upper. The 10:1 rule applies — code width should be roughly one-tenth the scan distance. Posters in transit settings (bus shelters, station walls) need extra margin because dwell time is short.
Direct-mail postcards. Scan distance: counter-distance, roughly 18 inches. Print size: 0.75–1 inch. The reader is paused at the kitchen counter holding a single piece of mail with a phone within reach — the highest scan-to-action window in print marketing if the destination earns the scan.
Banners. Scan distance: across-a-store or across-a-booth, 8–20 feet. Print size: 6–12 inches. Vinyl banners often live outdoors; UV exposure fades black ink over months, so factor an ECC level above the indoor default. The marketing QR codes industry page covers the event-and-OOH side.
Outdoor signage. Scan distance: across-the-street, 20–50 feet. Print size: 12–24 inches or larger. At this scale, single-pass digital print may band visibly across the QR; consider screen print or large-format inkjet on high-DPI heads. The substrate (Coroplast, Dibond, vinyl over substrate) affects glare and contrast retention differently.
The practical implication: a 0.6-inch business card QR and a 24-inch billboard QR may carry the same payload, but every other production decision is different.
The print-size-to-scan-distance rule
The fundamental QR sizing math is unchanged from the original ISO/IEC 18004 specification: each module (the smallest dark or light square in the code) needs to subtend at least one arc-minute at the scanning camera for reliable decode. In practical terms, that translates to a minimum module size of roughly 1mm at any scan distance most phones encounter — and the code's overall print size is set by the module size times the module count, which depends on the QR version (1 through 40) and the error correction level you chose.
The rule designers actually use: code width should be roughly one-tenth the maximum scan distance. A code scanned from 5 feet needs to be about 6 inches wide. A code scanned from 12 inches needs to be about 1.2 inches wide.
The rule sets a floor, not a target. Going larger is always safer, never harmful, except when the QR starts competing visually with the surrounding content. Going smaller is where scan rates collapse — especially under non-ideal conditions (dim ambient light, hand shake, glare on glossy stock, older phone cameras).
The second variable: payload size. A vCard QR with 240 characters of contact data uses a higher QR version with more modules than a short URL with 30 characters. Same physical size, smaller modules, harder to scan. If you are pushing the size floor, either shorten the payload (use a dynamic redirect URL instead of a raw long URL) or commit to a larger print size. The URL QR type page covers the dynamic-redirect approach; the multi-URL QR type page covers the routing logic when one printed code needs to serve multiple destinations.
For the deeper sizing math by version and ECC level, the error correction guide covers the module-count tables that connect payload length, ECC level, and print size.
File formats: vector vs raster for print
This is the single most common cause of print QR failure. Non-designers download a PNG QR code from a free generator at 200 pixels square, send it to the commercial printer, and the printer enlarges the raster to print size — at which point the modules pixelate, the edges roughen, and scan reliability collapses on the production run.
The rule: print QRs are vector. SVG, PDF, and EPS are vector formats — they scale to any print size without resolution loss because the modules are described mathematically rather than as a grid of pixels. PNG and JPG are raster — they pixelate when scaled up beyond their native resolution. JPG is also lossy, which bakes compression artifacts into the module edges that look fine at native size but blur at small print scales.
The format hierarchy for print:
- SVG is the cleanest default. Every modern design app (Illustrator, InDesign, Affinity Publisher, Figma) imports SVG cleanly. The QR scales to any size with sharp module edges. No background fill by default, so the QR overlays brand color cleanly without a white box around it.
- PDF is interchangeable with SVG for most print workflows. Some shops prefer PDF for prepress because their press RIPs handle PDF more predictably than SVG.
- EPS is the legacy format some older offset shops still want. Modern PDF and SVG are functionally equivalent.
- PNG at 2048×2048+ with transparent background (alpha channel) is the raster fallback when the print shop refuses vector. Below 1024×1024 the file is too small for safe scaling above postcard size; below 512×512, the file is only safe for digital display.
- JPG and GIF: skip entirely. JPG compression breaks the binary pattern. GIF palette flattening corrupts the modules.
Most free QR generators export PNG by default and hide the SVG option behind a paywall. EZQR exports vector by default on the Lite plan at $5/mo. QRCode Monkey is the strongest free option for one-off SVG exports, though their free tier does not handle the cancellation-policy risk for dynamic codes that print buyers running large runs care about.
The practical workflow: generate the QR as SVG, drop into the InDesign or Illustrator file at the production size, verify the modules render sharply at 100% zoom and 400% zoom. If the modules look pixelated at any zoom level, the file is raster — re-export as vector.
The CMYK-vs-RGB color trap
Your design app is showing a QR code in pure black on white. On screen, that is RGB 0,0,0 over RGB 255,255,255 — a clean 21:1 contrast ratio. You send the file to the printer. The printed result is a slightly muddy dark gray on white, with faint color fringes around the modules. The scan rate is mysteriously lower than the proof you tested on your monitor.
The cause is in the color conversion. RGB 0,0,0 converts to CMYK as approximately C:75 M:68 Y:67 K:90 — a four-color black that uses every plate on the press. Press registration is not perfect; the cyan, magenta, and yellow plates drift fractions of a millimeter relative to the black plate, and the drift creates a faint colored halo around each dark module. The halo eats into the contrast the QR scanner is reading.
The fix is to specify spot black: K=100, C=0, M=0, Y=0. A single-plate solid black with no risk of color drift, no registration concern, no contamination. Every commercial printer handles spot K=100 cleanly because it is the lightest possible ink-coverage path to a solid dark.
Most QR generators do not output CMYK-tagged files. Their SVG and PNG exports are RGB by default. The conversion to spot K=100 happens in your design app:
- In Illustrator: select the QR, open the Recolor Artwork dialog, target the black, set fill to Process Black at K=100 only. Save the file.
- In InDesign: place the QR, select it, swap fill to a Process Black swatch defined as K=100/CMY=0. Confirm via the Separations Preview that only the K plate carries the QR.
- In Affinity Publisher: select the QR object, set fill via the Color panel using CMYK with K=100/CMY=0.
A second adjacent trap: the white background. The white area inside the QR's quiet zone is paper white (the unprinted substrate), not a printed white. If you accidentally fill the QR background with CMYK 0,0,0,0 from your design app, the printer interprets that as no-print, which is correct for white paper but wrong if the QR is overlaying a colored block — then you need to either knock out the colored block underneath the QR or print the QR background as a process color that matches the paper. Both options work; both need to be specified explicitly.
For a deeper take on QR color science (which brand colors survive print contrast, which pastels collapse), the QR color guide covers the contrast-and-WCAG side. For the CMYK conversion math itself, the CMYK color model overview covers the press fundamentals.
The paper-stock problem: matte, glossy, soft-touch, kraft, foil
Paper substrate affects QR scan reliability differently across surface types. The same code that scans flawlessly on bond paper may fail on soft-touch laminate. Designers who treat paper as a neutral background are not accounting for how ink behaves on different surfaces.
Matte uncoated. Ink absorbs into the fiber. Dark modules "fatten" outward because the ink wicks; the quiet zone shrinks slightly. Contrast appears slightly muddier than the screen proof because the surrounding light area picks up trace ink dust during printing. Net effect: the dark gets darker but the boundary between dark and light blurs. Compensate with error correction level Q minimum, ideally H for small print sizes.
Glossy coated. Ink sits on the surface; modules stay sharp. Contrast is high. But the gloss reflects ambient light, and a scanner camera under harsh lighting (overhead store fluorescents, direct sunlight) sees the reflection as a bright wash that defeats the camera's exposure compensation. Modules can drown out. The glare-reduction strategies are to keep the print size at the larger end of the acceptable range, position the QR away from likely glare angles (not directly under in-store track lighting), and bump error correction to Q or H.
Soft-touch laminate. A thin matte coating over coated stock. Diffuses scanner light, which can soften the perceived contrast. Modern phones handle soft-touch well; older phones (Android pre-2020, iPhone pre-XR) struggle in low light over soft-touch. Compensate with size and ECC.
Kraft and natural fiber stocks. Visible fiber texture and a beige or tan paper color. Contrast is lower because the "white" is actually a warm beige. The 4.5:1 contrast floor may not be met by black-on-kraft; verify with a contrast checker, and consider a white knockout box around the QR if the stock is too dark for direct printing.
Foil and metallic finishes. Reflective surface causes glare similar to gloss but more pronounced. Foil-stamped QRs are almost universally a bad idea — the reflection defeats most scanners. If brand requires a metallic look, print the QR as standard dark ink and use foil for decorative elements around it.
Embossed and debossed. The QR pattern depth raises or lowers the modules relative to the surrounding paper. Subtle emboss can preserve scan reliability; deep emboss or deboss creates shadow lines that confuse module-edge detection. Decorative deboss around a QR (not on the modules themselves) is fine; deboss of the QR pattern itself is unreliable.
The practical workflow: ask the print shop which stock they recommend for QR-heavy jobs. Most modern print shops have an opinion based on production experience. If they do not, default to matte coated or silk coated for the best balance of contrast retention and glare resistance.
Error correction for print: Q is the default
Error correction adds redundant data to the QR pattern, allowing the code to be decoded even when part of the pattern is damaged, obscured, or misprinted. Four levels exist: L (7% recovery), M (15%), Q (25%), and H (30%). Higher levels add more modules to the code at the same physical size — denser modules mean smaller per-module size, which is harder to scan, which is a trade-off.
The rule of thumb that survives across print conditions:
- L (7%): digital-only. Acceptable for codes that will be displayed on screen and never printed. Risky for any print at all.
- M (15%): screen-projected QRs, low-stakes digital. Workable for clean print on coated stock at larger sizes (over 1.5 inches), no logo overlay.
- Q (25%): the print default. The right baseline for business cards, flyers, packaging, signage, direct mail on any standard paper stock. Survives minor print imperfections, ink absorption variance, and modest hand shake at scan time.
- H (30%): hostile substrates and logo overlays. Required if your QR has a logo embedded in the center (the logo replaces 10–15% of the pattern, which L and M cannot tolerate). Required on matte uncoated, soft-touch laminate, kraft, and any other absorbent or diffusing surface. Required for outdoor signage exposed to UV fade over 6–12 months.
The trade-off at higher ECC levels: more modules at the same physical size. A version-3 QR (29×29 modules) at L might become a version-5 QR (37×37 modules) at H carrying the same payload. The per-module size shrinks proportionally, so the minimum print size goes up. In practice this matters only at the smallest end of the size scale — business cards, jewelry tags, micro-QRs — where you may need to either shorten the payload (use a dynamic redirect URL) or accept a slightly larger code.
The error correction guide covers the version-and-module math by payload length, ECC level, and physical size — the table designers reference when deciding the trade-off for a specific print job.
A print-process compatibility table
Different print processes interact with QR codes differently. Some are forgiving; some require specific handling; a small set are fundamentally hostile to QR and should be avoided for the code itself.
| Print process | QR friendliness | Notes |
|---|---|---|
| Offset (sheet-fed) | High | Sharp module edges, consistent ink density. The default for business cards, brochures, magazines at scale. |
| Offset (web-fed) | High | Same physics as sheet-fed; faster throughput. Used for high-volume runs (catalogs, newspapers, direct mail). |
| Digital (toner) | High | Crisp at small sizes, no plate registration concerns. Best for short-run business cards and proofs. |
| Digital (large-format inkjet) | Medium-high | High DPI heads produce clean modules; lower DPI shows visible banding at small QR sizes. Banner-and-poster default. |
| Screen print | Medium | Heavy ink deposit can fatten modules. Use Q+ ECC and the larger end of the size range. Common for t-shirts and signage. |
| Flexo (packaging) | Medium-high | Modern flexo handles QR cleanly; older flexo presses produce module spread. Spec the press capability before sign-off. |
| Letterpress | Medium | Sharp edges, but the impression depth creates shadow lines around modules. Q+ ECC; design with a slight contrast margin. |
| Foil stamping (on the QR itself) | Hostile | Reflective foil defeats scanner exposure compensation. Skip foil on QR modules; use foil for surrounding decoration only. |
| Embossing / debossing the QR pattern | Hostile | Shadow lines from raised or recessed modules confuse edge detection. Skip; emboss decorative elements around the QR, not the code. |
| Engraving (laser, mechanical) | Variable | Works on coated metal and acrylic where contrast survives. Fails on raw metal where the engraved channels lack contrast. |
| Thermal printing (receipts, labels) | Medium | Heat-sensitive paper fades over weeks. Acceptable for short-lived QRs (receipts, shipping labels); not for permanent placement. |
| Direct-to-garment (apparel) | Medium | Fabric weave distorts modules at small sizes. Print QR larger (3+ inches) on apparel; use Q+ ECC. |
Tips
- Ask your print shop which process they will use before sign-off. The same job quoted at three shops may run on three different presses with different QR-handling implications.
- For any process flagged Medium or below, request a press proof on the production stock and scan-test before authorizing the run.
- Foil and emboss are popular brand-design elements. Use them in the layout around the QR, not on the code modules themselves.
The cancellation-timebomb for print at volume
Dynamic QR codes work by redirecting through a vendor-hosted shortlink server. The QR encodes a vendor URL (something like qrco.de/AbCdEf or your custom subdomain on the vendor's infrastructure); the scan resolves to whatever destination URL you currently have configured in the vendor's dashboard. Editable destination, scan analytics, A/B testing — these are the dynamic-code advantages.
The trap: the vendor controls the redirect. If your subscription lapses, expires, or you cancel, the redirect server may stop responding to the encoded vendor URLs. Every printed QR carrying that vendor URL goes dark.
A concrete worked example. A regional CPG brand prints a 100,000-piece direct-mail run with dynamic QRs across three creative variants. Total print cost: roughly $15,000 at $0.15 per piece, plus the postage. The QRs point at landing pages tagged for per-variant attribution.
Six months later, the brand's marketing operations team does a SaaS cleanup. The dynamic-QR vendor is one of two dozen subscriptions on the audit. The team cancels because the campaign is done. The vendor's cancellation policy deactivates the codes 30 days after cancellation. Every QR in the mail run goes dark. Including the late-arriving postal returns that take 60+ days to circulate. Customers calling the support line about dead codes pile up. The campaign retro turns into an incident review.
The brand could have avoided this by reading the vendor's terms of service before signing the contract. Most teams do not.
Vendor-by-vendor cancellation policy (verify in writing before authorizing the print run):
- Flowcode: deactivates dynamic codes 30 days after subscription cancellation per published terms. High risk for any campaign with a printed component lasting longer than a month.
- qr-code-generator.com: deactivates dynamic codes on cancellation per published terms. High risk.
- Bitly QR Generator: cancellation behavior varies across plan tiers; the ambiguity is itself a risk because the policy can change without warning. Medium-high risk.
- QR Tiger: keeps codes active after cancellation per published terms — verify current ToS in writing. Annual lock-in is the friction here, not cancellation.
- Uniqode (formerly Beaconstac): keeps codes active per current terms. The Beaconstac → Uniqode rebrand broke other policies for legacy accounts; verify cancellation in writing.
- EZQR: keeps dynamic codes redirecting indefinitely after cancellation. The redirect infrastructure runs on active-subscriber revenue, not on deactivating past customers. Designed for the print-lag use case where codes outlive the active subscription.
The practical test: open a trial account on the vendor under evaluation, generate one dynamic code, cancel the trial, scan the code 35 days later. If the code still resolves, the vendor passes the print-grade test. If it dies, switch vendors before the production batch goes to press. The permanent QR code guide covers the verification workflow and the support-response language to save in writing.
EZQR positioning for print buyers
Print buyers care about three things in a QR vendor that general-purpose users do not weigh as heavily: vector export at the lowest paid tier, cancellation policy that survives the print run, and bulk generation that handles multi-SKU and multi-recipient campaigns without per-code fees.
Static codes are free and permanent on EZQR. Static QRs encode the destination URL directly into the visual pattern with no redirect server involved. No subscription, no expiration, no vendor risk. The right choice for any printed asset where the destination URL is stable for the asset's full circulation life — a business card vCard, a permanent product page, a Google Business review URL, a brand portal.
Dynamic codes survive cancellation on EZQR Lite, Pro, and Max. When the use case requires editable destination (campaign rotation, A/B testing, post-print URL changes), dynamic QRs add the redirect-server flexibility. The EZQR cancellation policy keeps codes redirecting indefinitely; the codes are not held hostage to the active subscription. This is the policy print buyers care about for multi-month print runs.
Vector exports start at Lite ($5/mo monthly). SVG and PDF outputs are unlocked on the lowest paid tier, not held behind enterprise gates. Designers and small agencies do not need a Pro or Max plan to get the file format the commercial printer requires.
Bulk CSV generation is on Max ($20/mo monthly). Multi-SKU product packaging runs, per-employee vCard cards, per-zip direct-mail variants — the workflow where one CSV upload generates a ZIP of vector files matching the CSV labels. The bulk QR generator comparison covers the throughput numbers and the per-vendor failure modes (silent row skipping, filename collisions, hidden per-code fees).
Monthly billing across all tiers. Print buyers and agencies running campaign-cycle workloads do not get locked into annual commitments. Cancel and re-subscribe as campaign load shifts; codes generated under the old subscription keep working.
For the broader vendor field, the best QR generators of 2026 post covers the buyer-decision-level comparison.
Designing the QR-frame system for print
A QR on a printed page is rarely floating in white space. It sits inside a frame with brand styling, a short CTA, sometimes a logo, sometimes a destination-naming label. The frame design either invites the scan or makes the reader skip the code.
The frame-and-CTA pattern. A short verb-led label adjacent to the QR roughly doubles scan rates versus an unlabeled code. "Scan for the recipe" works. "Scan for the setup video" works. "Scan to learn more" works but is weaker than a specific promise. The QR call-to-action design post covers the labeling pattern with destination-naming language that survives the AI search era.
Logo embedding. A small brand mark in the QR center (under 12% of the code's area) at error correction level H is fine for print. The logo must be vector-clean — a fuzzy raster logo at small print sizes looks worse than no logo at all. Skip logo embedding if the QR is sized at the floor for its placement; the ECC overhead of H plus the logo replacement squeezes the readable surface too tight at small sizes.
Brand-color integration. Dark navy, charcoal, burgundy, deep teal, forest green all survive print contrast on white or cream paper. Pastels and light grays fail. Yellow on white is the classic counterexample that looks fine on screen and fails entirely in print. The QR color guide covers which palettes work and which collapse under CMYK conversion.
The quiet zone. The four-module light border around the entire QR is structural, not decorative. Designers regularly bleed brand graphics, photos, or text into the quiet zone — and break the scan rate. Lock the quiet zone in the layout file as a no-go region. The quiet zone is part of the code, not the surrounding space.
Background fill. The QR's light modules need to be either the paper white or a high-contrast light fill. A QR overlaid on a brand-colored block needs either a white knockout box behind it (cleanest) or a carefully matched contrast ratio between the brand color and the QR's dark modules (harder, easier to get wrong).
Orientation and rotation. QR scanners decode at any rotation, so designers sometimes rotate the QR for visual interest. This is fine for the scanner; it can confuse readers who expect a square right-side-up code. Stick with right-side-up unless the design demands rotation and the surrounding label clarifies the orientation.
A vendor comparison for print buyers
Print buyers weight vendor selection differently than general-purpose users. Vector export, CMYK file support, bulk generation throughput, cancellation policy, and monthly billing flexibility dominate the decision.
| Vendor | Vector export | CMYK file support | Bulk generation | Cancel policy | Billing |
|---|---|---|---|---|---|
| EZQR Lite ($5/mo) | Yes — SVG and PDF | RGB SVG; convert in design app | CSV on Max ($20/mo) | Codes survive (published) | Monthly |
| QRCode Monkey (free) | Yes — SVG, PDF, EPS | RGB output; convert in design app | No bulk | N/A — static only | Free |
| QR Tiger Premium ($16/mo, annual) | Yes — SVG and PDF | RGB; convert in design app | API + CSV | Codes survive (published) | Annual required |
| Uniqode Lite ($5/mo, annual) | Yes — SVG and PDF | RGB; convert in design app | API + CSV | Codes survive (verify in writing) | Annual required |
| Flowcode Pro ($15/mo) | Yes — SVG and PDF | RGB output | Bulk via UI | Deactivates 30 days after cancel | Monthly |
| qr-code-generator.com ($11.99/mo, annual) | Yes — SVG and PDF | RGB output | CSV | Deactivates on cancel | Annual required |
| Beaconstac (now Uniqode) | Yes — SVG and PDF | RGB output | API + CSV | Codes survive (verify post-rebrand) | Annual required |
Tips
- Verify cancellation policy in writing from vendor support before printing the production batch. Save the support response.
- Free generators are fine for one-off static codes printed locally. For any print run over a few hundred pieces, the cancellation guarantee on a paid plan is the load-bearing decision.
- CMYK conversion is your design app's job, not the QR generator's. Plan the workflow to convert the placed QR to spot K=100 before exporting the press-ready PDF.
- Bulk generation throughput matters when you are generating 500+ codes per print run. Slow vendors cost the production team hours per cycle.
The prepress checklist: five steps before authorizing the run
A working prepress workflow for QR-bearing print jobs has five stages. Skip any one and the failure modes from earlier sections re-enter the production batch.
Step 1: generate as SVG or PDF. Vector output from the generator. Verify the file opens cleanly in Illustrator, InDesign, or your prepress tool of choice. Confirm there is no background fill (the QR sits on transparency, ready to overlay paper white or a knockout box). If the generator only exports PNG, switch generators or upgrade the plan to unlock vector.
Step 2: convert color to spot K=100 in the design app. Place the SVG in the production layout. Select the QR object. Set fill to Process Black at K=100 with C=0/M=0/Y=0. Confirm via the Separations Preview that the QR appears only on the K plate. If the QR overlays a colored block, either set the colored block to knock out the QR area to paper white, or print the QR background as a process color matching the paper.
Step 3: embed at the correct minimum size for the placement. Apply the 10:1 rule — code width should be roughly one-tenth the intended scan distance. Verify the print size is at or above the floor for the placement type (0.5+ inches for business cards, 1+ inches for flyers and packaging, 4+ inches for posters, larger for OOH). Confirm the four-module quiet zone is preserved around the entire code; lock the quiet zone as a no-go region in the layout file.
Step 4: print a physical proof on the production paper stock. Request a printer proof at production size on the production substrate. Scan the proof with three phones (one older, one mid-range, one current flagship) under realistic ambient lighting (in-store fluorescent, kitchen counter daylight, conference booth halogen — whatever matches the deployment context). Confirm scan reliability across all three before authorizing the full batch. The proof costs $5–25 at most shops. The reprint costs many multiples of that.
Step 5: verify the destination URL is live, mobile-optimized, and stable. The QR is one half of the user experience; the destination is the other. Load the destination on iPhone and mid-range Android. Verify load time is under 2 seconds on cellular. Verify the page is mobile-responsive with tap targets at 44px minimum. Verify form submissions work end-to-end if the destination captures leads. Verify the URL is not behind a session-state lock or a temporary campaign redirect that may break before the print run reaches end-of-life.
For packaging-specific prepress detail, the QR codes on packaging and labels guide covers the substrate-and-finish considerations that overlap heavily with this checklist.
What cannot be fixed after the press: the physical scan-test
Every print job with QR codes needs a physical scan-test on the actual substrate under realistic lighting before the production run is authorized. The 2-minute test catches every failure mode this guide describes.
The test sequence:
1. Hold the printer's proof at the intended scan distance for the placement (handshake distance for business cards, arm's-length for flyers, across-the-room for posters).
2. Scan with three phones: an older Android (5+ years old, mid-tier camera), a mid-range current phone (Android or iPhone, 2–3 years old), and a current-flagship phone (iPhone Pro or Android flagship from the last 12 months).
3. Scan under the lighting condition that matches the deployment context. In-store fluorescent overhead, kitchen-counter daylight near a window, conference-booth halogen spot, outdoor mid-afternoon direct sun. Each lighting condition stresses the camera's exposure compensation differently.
4. Confirm the scan resolves to the correct destination within 3 seconds on all three phones across the lighting condition.
5. Repeat for any second placement type in the same print job (front of card and back of card; brochure inside spread and outside cover; etc.).
If any phone fails on any lighting condition, the failure mode is in the production batch. The fix may be a larger print size, a higher ECC level, a different paper stock, a brand-color swap, or a different placement on the page. Diagnose before authorizing.
The inverse is the costly mistake: skipping the physical test, authorizing the run based on the screen proof, and discovering the failure when customer-service calls about dead codes start coming in three weeks later. Five dollars of test print saves the $5,000 reprint, the lost campaign window, and the customer-trust damage that comes from QRs that fail in the wild.
For business cards specifically, the highest-stakes placement (every recipient is a professional contact, every failed scan reflects on the cardholder), the business card QR generator comparison covers which generators handle the small-print-size case best.
Sibling reading for specific verticals
This guide covers the cross-cutting print-production playbook. Specific verticals have their own depth posts:
- Packaging and labels: the QR codes on packaging and labels guide covers product packaging specifically — back panel placement, matte vs glossy label finish, mobile-first landing page requirements, and the dynamic-vs-static decision for inventory that sits on shelves for months.
- Magazines: the QR codes for magazines complete guide covers print magazines — per-ad-page advertiser attribution, editorial extensions, the bingo-card replacement for trade publications, and the quarterly-print-run cancellation risk.
- Marketing campaigns: the QR codes for marketing complete guide covers the strategic side — funnel-stage placement, vanity-scan-count vs real ROI, and channel-fit decisions for print and OOH.
- Business cards: the print and business cards industry page covers the operational depth for the smallest, highest-stakes placement category.
- Static vs dynamic decision: the static vs dynamic QR code guide covers the broader framework when the destination URL stability is the decision driver.
For the foundational tooling, the URL QR type page and the vCard QR type page cover the standard generation flows. For the vendor decision at the buyer level, the best QR generators of 2026 post covers the field.