Why your QR code prints blurry

vector72dpi raster
Vector against a 72dpi rasterScannable, it opens this page

Why a low resolution QR code fails

A blurry printed QR code is a file problem rather than a size problem. A screen-resolution image scaled up to print size has soft module edges, and a scanner reads edges. Export a vector file, or a raster at 300 dpi for the final printed size, and the problem disappears.

This is a different question from how big to print it, which the size calculator answers. You can get the dimensions exactly right and still ship a dead code, because the file was wrong before it reached the printer.

What the scanner is actually reading

A decoder does not see squares. It samples the image and decides, per module, black or white. That decision is easy when the boundary is a hard step and hard when it is a gradient. Every halving of effective resolution widens that gradient, and at some point enough modules are ambiguous that error correction runs out of budget and the read fails.

Which is why the failure is so abrupt. A code does not get gradually less reliable as you shrink the file; it works, works, works, and then does not.

The numbers, if you must use a raster

Print wants 300 dpi at final size. That is about 11.8 pixels per millimetre, so:

  • a 20mm code needs roughly 236 pixels square
  • a 30mm code needs roughly 355
  • a 50mm code needs roughly 590

A screenshot is typically 72 to 96 dpi. Printed at 30mm that is around 100 pixels for a job needing 355, and no software recovers the difference: upscaling interpolates between pixels you already have and softens the edges further.

The version of this problem you can delete

A vector file has no resolution. SVG, PDF and EPS describe the modules as shapes, so the same file is exact on a business card and exact on a billboard. Every printer accepts at least one of them, and once you send one, resolution stops being something anybody has to think about.

Ours export SVG by default for exactly this reason, with the quiet zone drawn into the file rather than left to whoever places it. PNG is offered for the tools that refuse vector, and if you use it, export at the size you are printing rather than resizing afterwards.

Questions

The things people ask before they commit something to paper.

Not answered here?

A person reads every message, usually the same day.

Email hello@klipqr.com
What resolution should a QR code be for print?

At least 300 dpi at the size it will actually be printed, so a 30mm code needs roughly 355 pixels square. But the better answer is to avoid the question: export SVG, PDF or EPS and resolution stops being a property of the file at all.

Why does my QR code look blurry when printed?

Almost always because it was a screen-resolution raster that got scaled up. A 200 pixel PNG printed at 40mm is about 127 dpi, so every module edge is soft. A scanner reads edges, and soft edges at small module sizes are exactly what it cannot resolve.

Can I screenshot a QR code and print it?

You can, and it is the single most common cause of a dead printed code. A screenshot is fixed at your screen resolution, usually 72 or 96 dpi, and no amount of enlarging adds detail back. Download the original file instead.

Is SVG or PNG better for a printed QR code?

SVG, without qualification. It describes the modules as shapes rather than pixels, so it is exact at 20mm and exact at two metres from the same file. Use PNG only where a tool refuses vector, and then export it at the final size.

Does upscaling a small QR code fix it?

No. Upscaling invents pixels by interpolating between the ones you have, which softens the module edges further. It makes the file bigger and the code no more readable. Re-export at the size you need.

Vector by default, with the quiet zone already in the file.Create a free account
© 2026 Klip · Page updated 2026-09-23 · Contact · Privacy · Terms · DPA