All posts

QR Code DPI for Print Designers: 300 DPI and the 3 Pixel Rule

9 min read

For a raster QR code, export it as a PNG at 300 DPI at final print size, or better, use SVG so scaling never matters. Whatever the format, each module needs to map to at least a few pixels in whatever camera scans it, generally around three to three and a half pixels. Keep a full quiet zone around the code, hold contrast high, and avoid JPG entirely. Lower DPI may be acceptable for large-format signage viewed from a distance.


TL;DR:

  • A QR code should be exported at 300 DPI in PNG or as a vector SVG to ensure each module maps to at least three pixels in the camera scan, reducing decoding errors.
  • The size of the QR code depends on the version and intended scanning distance; larger codes are needed for longer distances, such as billboards, following the one-tenth rule.
  • Printer head density and module size should align, with at least four printer dots per module, or else risk smearing or loss of contrast that impairs scanability.
  • SVG formats are preferred for print because they define the code as geometry, avoiding blur, while PNG must be exported at final size with correct DPI; JPG should be avoided due to compression artifacts.
  • Testing on multiple phones before mass printing is critical, especially when using lower DPI or larger sizes, to verify the code scans reliably in real-world conditions.

Table of Contents

What DPI Do You Actually Need for QR Codes?

The 300 DPI figure is commonly cited because it generally provides enough sharpness in print to produce clean square module boundaries rather than fuzzy edges. QR codes are less forgiving than photographs here: a blurred pixel in a landscape photo is invisible, but a blurred module edge can shift a decoder’s read of black versus white and break the scan entirely.

Lower DPI isn’t always wrong. A banner or storefront window cling viewed from several feet away can work at a lower DPI, such as about 150, because the viewing distance naturally hides softer edges, and vector formats sidestep the resolution question altogether by defining the code as geometry rather than pixels.

Distance is really the variable that should drive your decision. The 10:1 scanning distance rule says the code’s physical width should equal roughly one-tenth of how far away someone will stand to scan it. A phone scanning from 10 inches needs only a 1 inch code. A billboard scanned from 10 feet needs a 12-inch code, minimum.

Most scan failures trace back to the same handful of mistakes:

  • Scaling a screen-resolution PNG (72 or 96 DPI) up to poster size instead of re-exporting at target size
  • Placing the code so small the quiet zone gets crushed by surrounding text or images
  • Printing on low-contrast stock, like light gray on white or a busy background photo
  • Letting page-layout software auto-scale an embedded image without checking the resulting DPI

How Do You Calculate QR Size From Version and DPI?

Every QR code has a “version,” a number from 1 to 40 that sets how many modules make up each side of the grid. Version 1 is 21 modules across; version 2 is 25; version 4 is 33. More data (a longer URL, for instance) pushes you to a higher version with more modules, which means a physically larger code at any fixed DPI.

The formula is simple once you have the module count:

  1. Find modules per side for your QR version (add 4 for each version step above 1, starting at 21)
  2. Multiply modules per side by your chosen module size in pixels to get total pixels per side
  3. Divide total pixels by DPI to get inches, or multiply by 25.4 and divide by DPI for millimeters

Here’s what that looks like at 300 DPI with a comfortable 12 pixel module (well above the 3 to 3.5 pixel sampling floor once photographed):

QR version Modules per side Module size at 300 DPI Total pixels Final size
Version 2 25 12 px 300 px 1 inch (25.4 mm)
Version 4 33 12 px 300 px 1.3 inches

Higher error-correction levels (Q or H instead of L or M) add redundancy data, which can bump you to a higher version for the same content. That’s a reasonable tradeoff for codes that will get scuffed, laminated, or printed on curved surfaces, but it also means your final code needs more physical space. Always export at 100% scale with the quiet zone intact rather than trusting a layout tool’s preview to get it right.

Does Your Printer’s Head Density Limit Module Size?

Every printer has a physical dot density, and that number caps how small a module can print before it smears into its neighbor. DENSO WAVE’s module-size guidance recommends building each module out of four or more printer dots for stable, repeatable output. Fewer dots per module and ink spread starts eating into the white space that separates modules.

Translating that table into real numbers:

Head density Dots per module Approximate module size
600 dpi 4 dots ~0.17 millimeters
360 dpi 4 dots ~0.28 millimeters
300 DPI 5 dots ~0.42 millimeters
200 dpi 4 dots ~0.51 millimeters

If you’re working with thermal transfer or label printers, check the actual head density in the printer’s spec sheet rather than assuming a round number. Practical fixes when you’re stuck with a low-density printer:

  • Request a proof print at actual size before running a full batch
  • Increase module size rather than trying to compensate with software DPI settings
  • Test on the exact label stock and ribbon combination you’ll use in production

Which File Format Should You Export: SVG, PNG, or JPG?

SVG wins for anything going to print, because it defines the code as vector geometry that a printer’s RIP renders natively at any size, with no interpolation and no risk of blur at the edges. When SVG isn’t an option, PNG works, but only if you export it at the final physical size and 300 DPI, then drop it into your layout at exactly 100%. Never upsample a smaller PNG.

JPG should stay off the table for QR codes. Its lossy compression introduces artifacts right at the hard edges between black and white modules, exactly where decoders are most sensitive to noise. CMYK conversion for offset printing carries its own risk too: registration drift and ink spread between plates can soften contrast if you don’t build in extra margin.

  • Export SVG whenever your printer or design tool supports it
  • If exporting PNG, lock in final size and 300 DPI before export, never after
  • Skip JPG for any QR code destined for print
  • Preserve the full quiet zone; check that layout software isn’t auto-cropping it during page assembly

If you can’t cleanly identify where one module ends and the next begins, neither can a camera.*

Why Does Camera Sampling Set a Hard Floor on Module Size?

DPI on paper is only half the story. What matters at the moment of the scan is how many pixels the phone’s camera actually captures per module, and that number depends on resolution, distance, and lens blur combined.

Across common decoders and blur conditions, detection research from PMC found recognition rates climb sharply once a module spans about 3 pixels in the captured image, with 3 to 3.5 pixels producing recognition rates around 0.9 or better in tested conditions.

That threshold connects to the Nyquist sampling limit: a system can’t reliably reconstruct detail finer than roughly twice its sampling resolution, and a camera’s modulation transfer function, the technical term for lens and sensor blur, eats into that margin further. A module that theoretically spans 3 pixels on paper might capture as effectively fewer once blur softens its edges.

Complicating things further, many decoders resize images before scanning them. Some cap the smaller image dimension at 512 pixels; others enforce limits closer to 640. A high-resolution photo doesn’t guarantee high effective sampling if the app downsamples it first.

The safe move: when you’re not sure how a code will be scanned, size it generously and test on a few different phones, including an older or budget model with a weaker camera, not just your own.

Quick Checklist and Two Worked Examples

Run through this before any print job goes out:

  1. Choose vector (SVG) whenever the workflow allows it
  2. Set target DPI (300 for small prints, vector or high native resolution for large format)
  3. Convert modules to pixels using your QR version and confirm each module clears roughly 12 pixels at 300 DPI
  4. Export at exact final size, never scaled up afterward
  5. Confirm the quiet zone survived layout and cropping
  6. Test-scan the printed proof on at least two different phones

Example A, business card: a version 2 code (25 modules) at 300 DPI with a 12 pixel module lands at 1 inch square, comfortably inside a standard 3.5 by 2 inch card with room for a logo and text.

Example B, flyer or brochure: the same version 2 code scaled to a 1.5 inch module size at 300 DPI still holds well over 3.5 captured pixels per module even when photographed from a foot away.

Common fixes when a printed code fails:

  • Low contrast: switch to solid black on white and retest
  • Cropped quiet zone: rebuild the layout with a hard margin around the code, no exceptions
  • Scaling errors: re-export at the exact final dimensions instead of resizing in the page layout tool

An Editor’s Take on Where QR Prints Actually Go Wrong

The mistake I see repeated most is treating DPI as a single magic number instead of a relationship between file resolution, printer capability, and scanning distance. A perfect 300 DPI export means nothing if the printer’s head density can’t render the module cleanly, or if someone scales the file 150% in a page layout tool without noticing. Before any print run, test the actual link target the code points to, not just whether the code scans. A code that scans but sends someone to a dead page is a worse failure than one that never scans at all. Run small proof prints and check them across a few phones before committing to a full batch.

— Andrea

Generate QR Codes That Are Sized Right the First Time

Getting export size, DPI, and format right by hand takes real attention, and one wrong scale setting in a layout tool undoes all of it. Rdyrct’s QR code generator exports both SVG and PNG at proper resolution automatically, so you skip the manual pixel math this guide just walked through.

Beyond generating correctly sized files, there are tools that add branded QR codes with your logo, UTM builders for tracking campaign performance, and privacy-friendly analytics that show country, referrer, and device data without storing IP addresses. That last part matters if you’re printing codes for a campaign you plan to measure. A static image tells you nothing about who scanned it; a dynamic Rdyrct link does. There are various plans available, including a free option to start without commitment, with paid tiers that unlock more branded codes and longer analytics history as print runs scale up. Head to Rdyrct and generate your first properly sized QR code in under a minute.

FAQ

Is 300 DPI High Resolution for Scanning?

For print, yes. 300 DPI is the standard sharp-edge minimum for QR codes and most professional print work, though it’s a modest resolution by pure image-quality standards for photography.

Use SVG when possible; for raster files, export PNG at 300 DPI at the exact final print size, and confirm each module maps to at least 3 to 3.5 pixels in whatever camera will scan it.

Should a QR Code Be a PNG or JPG?

PNG. JPG’s lossy compression creates artifacts along the hard edges between modules, which is precisely where decoders are most sensitive to noise.

Is 300 DPI Better Than 1200 DPI for Print Quality?

Not necessarily. Beyond roughly 300 DPI at final size, most printers and cameras can’t resolve additional detail in a QR module, so higher DPI adds file weight without a meaningful scannability gain. Vector formats like SVG avoid the question entirely since they scale without any DPI ceiling.

Keep reading. More from the blog.

  1. rdyrct 1.1: bring your links from Bitly, then tag, shorten and track them

    rdyrct 1.1.0 is out: import your links from Bitly, Short.io, Rebrandly or Dub with the same short URLs, a free UTM builder, links made from the homepage, and your own copy in one step.

  2. Best URL Shortener in 2026: the Buyer's Shortlist

    The best URL shorteners in 2026, ranked on price, custom domains, link limits and analytics history, with the plan numbers from each vendor's pricing page.

  3. Shorter links on rdyr.cc

    New short links on rdyrct's shared domain now use rdyr.cc, a shorter domain that only redirects. Every rdyrct.com link keeps working, on both domains.

Short links on your own domain. Free to start.

Links, QR codes and click analytics for your team. No visitor IP address is ever stored.