Print & scan quality

SVG vs PNG vs PDF: which QR export format to use, and when

Vector for print, raster for screens, and never JPEG. The reasoning takes two minutes and saves a reprint.

By Kiril Urbonas4 min read

Export SVG or PDF for anything going to print, because vector artwork has no resolution to get wrong at any size. Use PNG for screens, email and slides. Never use JPEG: its compression is built for photographs and produces visible fringing on the hard black-and-white edges a scanner depends on.

Key takeaways

  • SVG and PDF are vector — the code scales to any size with perfectly crisp module edges.
  • PNG is lossless raster, correct for screens; export it at 300 DPI of the final size if it must go to print.
  • JPEG is lossy and tuned for photographs. Its artefacts land exactly on the module edges a scanner reads.
  • Choose PDF when the printer asked for a print-ready file with page dimensions, SVG when placing the code into a design file.
  • A vector file also future-proofs the asset: the same file works on a business card and a billboard.

Which format should you use?

SVG or PDF for print. PNG for screens. Never JPEG. That covers almost every case, and the rest of this page is why.

This is a spoke off the print guide, which covers size, quiet zone and the other variables that decide whether a printed code scans.

Vector vs raster, for a grid of squares

A QR code is an unusually good fit for vector. It is a grid of perfectly square, perfectly flat shapes with hard edges — which is exactly what vector formats describe natively and exactly what raster formats describe badly.

A vector file (SVG, PDF) stores the code as geometry: these squares, at these coordinates, in this colour. The printer’s RIP renders them at whatever resolution the press runs at. There is no resolution baked in, so there is no resolution to get wrong — the same file is correct on a business card and on a billboard.

A raster file (PNG, JPG) stores a fixed grid of pixels. That is fine when the display size is known, and a problem the moment someone scales it. Enlarge a raster code and the module edges soften, and soft edges are precisely what a scanner struggles with: it has to decide where dark becomes light, and you have blurred the boundary.

The four formats compared

FormatTypeUse it forAvoid it for
SVGVectorPrint; placing into design files; sharp web renderingSending to people without design tools
PDFVectorSending straight to a printer; defined page dimensionsEmbedding in a web page
PNGRaster, losslessScreens, slides, email, social, app UIPrint at any size where quality matters
JPGRaster, lossyAlmost nothing, for a QR codePrint, and any small on-screen use
Choosing a QR code export format

Why JPEG is the one to avoid

JPEG compression is built for photographs. It saves space by discarding detail the eye does not notice in soft, gradual tonal transitions — and it is genuinely very good at that.

A QR code is the opposite kind of image: nothing but hard, high-contrast edges. JPEG handles those badly, producing ringing artefacts — faint halos and speckle — immediately around every transition. On a QR code, that means artefacts land exactly on the module boundaries the scanner is trying to read.

If you need a raster file, use PNG. There is no case where JPEG is the right choice for a QR code: it is not meaningfully smaller at the quality levels a code needs, and it is worse at every size.

What your printer actually wants

Ask — but the answer is usually PDF, because a PDF carries page dimensions and colour information along with the artwork, which is what a prepress workflow is built around.

Practical notes:

  • Send SVG when the code is going into a larger design file in Illustrator, InDesign, Figma or Affinity. It places as editable vector and scales with the layout.
  • Send PDF when the code is the deliverable, or when the printer asked for print-ready files.
  • If you must send PNG, export at 300 DPI of the final printed size — about 590 pixels for a 5 cm code, about 2,360 for 20 cm. Tell the printer the intended size, so nobody scales it up on your behalf.
  • Check the quiet zone survived. Whichever format you send, confirm the four-module clear border is still there in the placed layout. It is the most common thing to lose between export and press.

On screens, PNG at twice the display size covers high-density displays. SVG works on the web too and stays sharp at any zoom — the only reason to prefer PNG there is a tool that will not accept vector.

Next: how small the code can safely go, which is the other half of getting a printed code right.

Frequently asked

Is SVG or PNG better for a QR code?
SVG for print and for placing into design files, because it is vector and scales to any size with crisp edges. PNG for screens, email and slides, where the pixel dimensions are known and fixed. If a PNG must go to print, export it at 300 DPI of the final printed size.
Should I send my printer an SVG or a PDF?
Either — both are vector and both scale cleanly. Use PDF when the printer asked for a print-ready file with defined page dimensions, and SVG when the code is being placed into a larger design file. Ask the printer which they prefer; most will say PDF.
Why should I never use a JPEG QR code?
JPEG compression is designed for photographs, where soft gradients hide the artefacts. A QR code is the opposite — hard black-and-white edges — so compression produces visible fringing right where the scanner needs a clean light-to-dark transition. Use PNG if you need a raster file.
What DPI should a PNG QR code be?
At least 300 DPI at final print size. A code printing at 5 cm needs roughly 590 pixels across; at 20 cm, about 2,360. The better answer is to sidestep DPI entirely by exporting SVG or PDF, which are resolution-independent.