# 300 dpi vs 600 dpi for QR codes

> At 300 dpi each dot is 0.085 mm, so any module of 0.34 mm or larger gets the four dots a clean edge needs, which covers codes above about 2 cm. Choose 600 dpi for very small codes and styled modules, and prefer vector output, which makes the resolution question disappear.

Source: https://useqr.app/docs/print/300-dpi-vs-600-dpi-for-qr · Last reviewed 2026-08-21 · UseQR is free forever, no signup.

---

## The four-dot rule decides it

Resolution questions about QR codes reduce to one number: **printer dots per module**.
Four or more and edges land cleanly; fewer and rounding starts moving module boundaries.

| Module size | 203 dpi | 300 dpi | 600 dpi |
|---|---|---|---|
| 0.25 mm | 2.0 | 3.0 | 5.9 |
| 0.34 mm | 2.7 | **4.0** | 8.0 |
| 0.50 mm | 4.0 | 5.9 | 11.8 |
| 1.00 mm | 8.0 | 11.8 | 23.6 |

Read the table against your actual module size (printed code width divided by module
count), and the 300 vs 600 argument mostly settles itself.

## When 300 dpi is enough

A 300 dpi raster covers **any module of 0.34 mm or larger**, and ordinary codes clear
that easily: a version 4 code (33 modules) printed at 2 cm has 0.6 mm modules, seven
dots each at 300 dpi. Everyday flyers, posters, menus and
[labels above 2 cm](/docs/print/qr-code-size-for-print) gain nothing measurable from a
600 dpi file. This is why "final size × 300 dpi" is the standing raster rule in the
[DPI guide](/docs/print/qr-code-dpi-for-printing).

## When 600 dpi pays

- **Very small codes.** Below about 1.5 cm with a dense payload, modules approach
  0.25–0.3 mm, three dots at 300 dpi, where rounding begins to bite. 600 dpi restores
  the margin (though check the
  [minimum-size floors](/docs/print/minimum-qr-code-size) first; if modules are that
  small, the payload may be the real problem).
- **Styled modules.** Rounded corners, [dot-style modules](/docs/design/dot-style-qr-codes)
  and custom eyes are curves, and curves are drawn from the same dot grid. A 0.4 mm
  circular module at 300 dpi is approximated by roughly five dots across: a lumpy
  pentagon, and the lumps eat exactly the white spacing that styled codes depend on. At
  600 dpi the same circle gets nine dots and holds its shape.
- **Fine-art and premium print** where the code is inspected up close as a design object.

## The trap between the two

The common own-goal: exporting a 600 dpi file and printing it through a driver or RIP set
to 300 dpi. The downsample interpolates (often with smoothing enabled), and produces
*worse* edges than a native 300 dpi export, because module boundaries now fall between
dots with anti-aliased grey on both sides. If you export raster, **match the file to the
device's true output resolution** and disable resampling, exactly as the
[pre-press checklist](/docs/print/qr-code-print-checklist) prescribes.

## Or step out of the argument

Vector artwork has no DPI: the RIP renders exact module rectangles at whatever the device
natively does: the whole case is made in
[why you should print QR codes from SVG](/docs/print/why-you-should-print-qr-codes-from-svg).
When raster is unavoidable, size it with the [size calculator](/size-calculator), export
at the device resolution, and [confirm the file still decodes](/validate) after the
layout tool has finished with it.

## FAQ

### Is 300 dpi enough for a QR code?
Yes, whenever each module gets at least four dots, module sizes of 0.34 mm and up, which covers typical codes larger than about 2 cm. Below that, move to 600 dpi or, better, supply vector artwork.

### When is 600 dpi worth it for QR codes?
For codes under about 1.5 cm with dense payloads, and for styled codes with rounded or dot-shaped modules, whose curves need more dots to stay smooth. For ordinary square-module codes at normal sizes it changes nothing visible to a scanner.

### Does higher DPI make a QR code scan from further away?
No. Scan distance is governed by the code's physical size and module count, not file resolution. DPI only determines whether the printed edges are placed accurately at a given size.

### Should I print a 600 dpi QR code on a 300 dpi printer?
No, the downsample interpolates module edges and can be worse than a native 300 dpi file. Match the export to the device's true resolution, or supply SVG or PDF and let the RIP render exact edges.

## Try it

- https://useqr.app/url
- https://useqr.app/validate
- https://useqr.app/size-calculator
