# QR code blurry when printed

> Blur comes from resampling, not the printer. A small PNG placed into a layout and enlarged interpolates every module edge into a gradient, and the press faithfully prints the blur. Fix by exporting the code as SVG or PDF, or regenerating the raster at final size at 300 DPI or more, and printing at 100% scale.

Source: https://useqr.app/docs/troubleshooting/qr-code-blurry-when-printed · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## The blur was in the file before the printer saw it

Office printers and presses render at 600–1,200 DPI — more than sharp enough for any QR code. When the printed result is fuzzy, the blur almost always entered earlier, in the **resample chain** between the generator and the page.

## The resample chain

1. A web generator hands you a small PNG — **150 × 150 px** is a common default.
2. A designer places it in the layout and drags it out to 3 cm.
3. The layout software interpolates the missing pixels on export, turning every hard module edge into a soft gradient.
4. The decoder later thresholds the printed image to pure dark and light — and gradient pixels sit exactly at the threshold, where tiny variations flip modules.

The arithmetic makes it obvious: effective resolution = pixels ÷ printed size. **150 px across 3 cm (1.18 in) is 127 DPI** — well under the **300 DPI floor** for raster QR codes. Nothing downstream can restore detail that was never in the file. The numbers behind the floor are on the [DPI for printing](/docs/print/qr-code-dpi-for-printing) page.

## Fix 1 — place vector artwork

Export the code as **SVG or PDF** and place that. Vector artwork is rendered at the output device's native resolution, so module edges are mathematically exact at any size — 3 cm on a flyer or 3 m on a banner from the same file. This is the whole argument of [printing from SVG](/docs/print/why-you-should-print-qr-codes-from-svg); the how-to is at [making a QR code SVG](/docs/how-to/how-to-make-a-qr-code-svg).

## Fix 2 — regenerate raster at exact size

If the workflow demands raster, generate at **final printed size × 300 DPI** and never enlarge afterwards:

| Printed width | Minimum pixels |
|---|---|
| 2 cm | 236 px |
| 3 cm | 354 px |
| 5 cm | 591 px |
| 10 cm | 1,181 px |

Round up generously — extra pixels cost nothing, missing ones cost the scan.

## The printer-driver traps

Even a perfect file can be softened at the last step:

- **"Fit to page"** rescales the whole document — always print at **100% / Actual size**.
- **Draft or toner-save modes** lighten and thin the modules.
- **Borderless mode** enlarges the page slightly to bleed off the edges, resampling everything.

## Not this fault: crisp file, fuzzy page

If the exported file is sharp at high zoom but the print is still soft, you are looking at a substrate problem — ink spreading into uncoated paper — not a resolution problem. That failure lives at [scans on screen but not in print](/docs/troubleshooting/qr-code-scans-on-screen-not-in-print).

Before committing to a print run, put the artwork through our [validator](/validate) — it decodes the rendered output, which catches interpolation damage that still looks passable to the eye — and print one proof at final size.

## FAQ

### Why is my QR code blurry when I print it?
Because a small raster image was enlarged somewhere between generation and print. Interpolation turns hard module edges into gradients, and the decoder thresholds gradients unpredictably. The printer reproduces the blur; it does not create it.

### What DPI should a QR code be for printing?
At least 300 DPI at final printed size — a 3 cm code needs about 354 pixels across. Better, use SVG or PDF, which have no DPI at all and stay exact at any size.

### Can I sharpen a blurry QR code image?
No. Sharpening filters exaggerate edge contrast but cannot recover module boundaries that interpolation destroyed, and they add halo artefacts of their own. Regenerate the code at the correct size instead — it takes seconds.

### Why does the same QR code print fine from one program and blurry from another?
The programs are scaling differently. One places the image at its native size or prints at 100%; the other stretches it to fit a frame or rescales the page. Check the placed dimensions against the image's pixel count.

## Try it

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