
For most print jobs, export your QR code as a vector file (SVG, PDF or EPS). If you must use PNG, export it at 300 DPI at the final printed size, or 600 DPI for small codes on coated stock. DPI is only a proxy, though. What decides whether a printed code scans is how large each square (module) is on the paper, and whether the margin around the code stays clear.
This guide explains the math, gives you working numbers for common print jobs, and lists the mistakes that make a sharp-looking file fail on a menu, table tent or yard sign.
TL;DR
- 300 DPI at final size is the usual floor for raster QR codes. Use 600 DPI for small codes or glossy stock, and prefer vector files whenever the printer accepts them.
- Module size beats resolution. DENSO WAVE, the inventors of the QR code, recommends building each module from at least 4 printer dots.
- Never clip the quiet zone. Keep an empty margin of at least 4 modules on every side, which is a strict requirement in GS1 guidance.
- Do not upscale a small PNG. Enlarging a 72 DPI screen export blurs module edges, and no print setting fixes that afterward.
- Test the printed proof, not the screen preview, with more than one phone before you order a full run.
Table of Contents
- What DPI means for a QR code
- Why module size matters more than the DPI number
- A worked example: from file pixels to printed inches
- Recommended DPI by print job
- Vector or raster: which file to send
- The quiet zone: the margin printers clip most often
- Contrast, color and finishes
- Data length changes the dots you need
- Our perspective: DPI is a symptom, scanning is the goal
- Get a print-ready code
- A pre-press checklist
- FAQ
- Sources
What DPI means for a QR code
DPI stands for dots per inch. It describes how many printer dots, or image pixels, fit into one inch of the printed piece. A photo at 300 DPI looks smooth because the eye blends fine detail. A QR code is different. A camera has to decide, square by square, whether each module is dark or light. Blurry edges between modules are what cause failed scans.
That is why the same file can scan well at 3 inches and fail at 1 inch, even though the DPI setting never changed. The pixel count is fixed by the file. The physical size of each module depends on how large you print it.
Two numbers matter together:
- Pixels per module in your file (or printer dots per module on the press).
- Millimeters or inches per module on the finished piece.
DPI links them: pixels per module divided by DPI gives the module's size in inches.
Why module size matters more than the DPI number
DENSO WAVE states that the larger the module, the more stable and easier to read the code is. Its guidance for printers is to build each module from several dots. Their table shows the resulting module size at 4, 5 and 6 dots per module:
| Printer | Head density | 4 dots | 5 dots | 6 dots |
|---|---|---|---|---|
| Laser | 600 dpi | 0.17 mm | 0.21 mm | 0.25 mm |
| Laser | 360 dpi | 0.28 mm | 0.35 mm | 0.42 mm |
| Thermal | 300 dpi | 0.33 mm | 0.42 mm | 0.50 mm |
| Thermal | 200 dpi | 0.50 mm | 0.63 mm | 0.75 mm |
Those are minimums for the printer's capability. They are not a promise that a code will scan from a phone held at arm's length. In practice, you want modules well above those figures, because a phone camera, glossy paper, ink spread and a curved surface all work against you.
The GS1 2D barcode guide makes a related point for retail and logistics: reading depends on a quality grade under ISO/IEC 15415, and a high DPI alone does not earn it. Contrast and quiet zone have to be right as well.
A worked example: from file pixels to printed inches
Say your QR code has 25 modules per side, which is a common size for a short URL. Add the 4-module quiet zone on each side and the full symbol, margin included, is 33 modules wide.
| Pixels per module | File size (with margin) | Printed width at 300 DPI | Code only (25 modules) at 300 DPI |
|---|---|---|---|
| 4 px | 132 px | 0.44 in (11 mm) | 0.33 in (8.5 mm) |
| 8 px | 264 px | 0.88 in (22 mm) | 0.67 in (17 mm) |
| 12 px | 396 px | 1.32 in (34 mm) | 1 in (25.4 mm) |
The 4-pixel row technically meets the 4-dot guideline, yet an 8.5 mm code is too small for most real-world scanning. The 12-pixel row gives a 1-inch code at 300 DPI, which sits in the range most printers and generators recommend. QRStuff, for example, suggests at least 1 inch as a general rule. Other guides put the floor lower, at 2 x 2 cm (0.8 in), so treat 1 inch as a comfortable starting point rather than the limit.
The arithmetic is simple: printed inches = pixels ÷ DPI. A 600-pixel-wide PNG prints at 2 inches at 300 DPI, but only 1 inch at 600 DPI. The pixels did not change, so the sharpness per module did not improve. Only the module got smaller.
![]()
Recommended DPI by print job
Use these as working defaults. Then check the proof.
| Print job | Typical code size | Suggested export |
|---|---|---|
| Business card, small label | 0.8 to 1 in (2 to 2.5 cm) | Vector, or PNG at 600 DPI at final size |
| Menu, flyer, invitation | 1 to 1.5 in | Vector, or PNG at 300 to 600 DPI at final size |
| Table tent, poster, packaging | 1.5 to 3 in | Vector, or PNG at 300 DPI at final size |
| Window decal, yard sign | 4 in and up, sized to viewing distance | Vector. Large PNGs only at 150 DPI or more at final size |
For large formats, viewing distance drives size more than DPI does. A common rule of thumb is a scan distance to code width ratio of about 10:1, which the QR Code Pulse printing guide also cites. A yard sign scanned from 6 feet away needs a code roughly 7 inches wide by that rule. Our QR code size calculator turns distance into print size for you, and the print size chart lists common formats side by side.
If you are working with very small placements, our article on how a code scans at 1.5 cm shows where scanning starts to fail, and the 2 cm minimum size guide covers the common floor.

Vector or raster: which file to send
Vector files (SVG, PDF, EPS) describe the code as shapes, so they stay crisp at any size. The printer's RIP software draws each module at the press's native resolution. If your printer accepts vector artwork, send that.
Raster files (PNG, JPG, TIFF) hold a fixed number of pixels. They need to be exported at the final printed size and the right DPI. Some practical rules:
- Export at the exact size you will print, not smaller.
- Prefer PNG over JPG. JPG compression creates fuzzy halos around the edges of modules.
- Do not resample in a layout program. Place the file at 100% of its intended size.
- Do not export at the default 72 DPI and rely on the print shop to fix it. QR Code Dynamic's printing guide gives the same advice: if PNG is your only option, export at 600 DPI or higher at the final size.
Transparent backgrounds add another trap. A code placed over a photo can lose contrast, even at a perfect resolution. We cover this in why 300 PPI isn't enough for transparent background QR codes.
The quiet zone: the margin printers clip most often
The quiet zone is the empty border around the code. It must be at least 4 modules wide on all four sides, and the GS1 guide treats this as a strict requirement. Without it, a scanner struggles to separate the code from nearby text, borders or artwork.
In practice, designers lose the quiet zone in three ways:
- Cropping the file tightly to the code, then placing it right against a box or logo.
- Setting a colored frame or pattern within 4 modules of the edge.
- Letting the printer's trim or bleed cut into the margin on small formats like business cards.
A quick check: measure one module, multiply by four, and make sure that distance around the code contains nothing but background.
Contrast, color and finishes
Resolution gets the shapes right. Contrast lets the camera tell them apart. Use a dark foreground on a light background. Inverted codes (light on dark) fail on some scanners, and low-contrast brand colors fail more often than any resolution problem. Our contrast checker tests a color pair before you commit to print.
Finish matters too:
- Glossy laminate can reflect light and wash out modules. Test under the lighting where the piece will hang.
- Uncoated or textured stock absorbs ink and spreads dots, which softens small modules. Go larger.
- Curved surfaces (bottles, mugs) stretch the code. Add size and keep the code on the flattest area.
Data length changes the dots you need
A longer URL needs more modules, so each module must be smaller to fit the same space. That drops module size and your safety margin. A 25-module code and a 41-module code at the same 1-inch width are very different print jobs. Keep links short, or use a dynamic link that redirects to the long address. Our URL length tool shows how a link grows the code, and the guide to QR code versions maps module counts to print sizes.
Our perspective: DPI is a symptom, scanning is the goal
At AriaQR, we make codes from customers' artwork, so we see how a nice-looking file can fail on a phone. When someone asks us for a "300 DPI QR code," what they usually want is a code that will not fall apart on press. The number is a reasonable starting point, but it does not guarantee that.
That is why we do not treat the export as the finish line. Each code is checked on real decoders before download, and the master file is delivered print-ready at high resolution. You can read how that works in how we verify every code. Even so, we still tell customers to scan a printed proof. A file can be perfect and the stock, laminate or lighting can still cause problems.
Our advice is short: use vector when you can, size by scanning distance, protect the quiet zone, check contrast, and test on paper.
— Tharun
Get a print-ready code
If your design has artwork built into the code, a resolution that suits the print job matters even more, because fine detail is what breaks first. AriaQR delivers verified, print-ready master files. One code costs 7 USD one-off, and a quarter plan costs 70 USD per quarter for teams or heavier use. See the pricing page for details. If you only need a classic black-and-white code with analytics, try the free QR code generator. For batches, there is also a free bulk QR code generator.
A pre-press checklist
- Pick the final size from scanning distance, not from what looks neat on the layout.
- Export vector, or raster at final size with at least 300 DPI.
- Confirm module size. At least 4 printer dots per module, and more for small or glossy pieces.
- Keep the quiet zone of 4 modules on all sides.
- Check contrast between foreground and background.
- Print a proof on the real stock and scan it with an iPhone and an Android phone, in normal room light.
- Inspect posted codes. Once a code is in public, check it from time to time. The FBI warns that attackers paste fake QR stickers over legitimate codes, so a tampered table tent or poster is a real risk for restaurants and shops.
FAQ
What DPI should a QR code be for print?
Use 300 DPI at the final printed size as a minimum for raster files, and 600 DPI for small codes or coated stock. If your printer accepts vector files, send those instead, because they have no fixed resolution. The DPI number matters less than having enough pixels per module, ideally at least 4 printer dots each.
Is a 300 DPI QR code good enough?
Yes, if the code is large enough and the file is exported at its final size. A 300 DPI file that prints at 1 inch with 12 pixels per module is solid. The same file stretched to 3 inches has fewer dots per inch than you think, and its edges soften. Always check that the pixel dimensions match the final size.
What is the minimum size for printing a QR code?
Many generators suggest about 2 x 2 cm (0.8 in) as a minimum, and some recommend 1 inch. Use the larger figure when you can. The right size grows with scanning distance, so a poster or yard sign needs much more than a business card.
Why is my printed QR code blurry or not scanning?
The usual causes are a low-resolution file scaled up, a code that is too small for its data length, a clipped quiet zone, low contrast, or glossy finishes that reflect light. Check pixel dimensions against print size first, then the margin and colors. Scan a printed proof to find which one it is.
Are high resolution QR codes safer?
No. Resolution affects how well a code scans, not whether the destination is trustworthy. Whatever the resolution, only scan codes from sources you trust, and check public signage for stickers placed over the original code.
Sources
- Point for setting the module size, DENSO WAVE (QRcode.com)
- GS1 2D Barcode Colour & Quality Guide
- FBI Tech Tuesday: Building a Digital Defense Against QR Code Scams
- How do I print QR codes with high quality? (QRStuff)
- QR Code Printing Best Practices (QR Code Pulse)
- Printing QR Codes: The Complete Guide (QR Code Dynamic)