QR QR Studio

print

SVG, PNG, PDF or EPS: which QR code file format to use

Published 7 September 2026 · 2 min read

Every QR code generator offers a download menu with three or four formats. Pick the wrong one and a code that scanned perfectly on screen comes back from the printer soft-edged and unreliable.

Vector or bitmap

A bitmap (PNG, JPEG) is a grid of pixels. It has one size; enlarge it and each pixel becomes a blurry square. A vector (SVG, PDF, EPS) is a description of shapes. It has no size until it is drawn, and it is sharp at any size. QR codes are made of squares, which is exactly what vectors describe best.

Feature SVG PDF EPS PNG JPEG
Sharp at any size
Print shop ready Usually At 300 DPI
Web and apps Avoid
Email and chat Patchy As attachment Avoid
Recolour after export In a vector editor In a vector editor
Transparent background
File size for a code 2 to 10 KB 5 to 30 KB 10 to 50 KB 5 to 200 KB 20 to 300 KB
What each format is good for. JPEG is never the right answer for a QR code.

SVG

The best general-purpose format. Small, sharp, editable, and every browser and design tool opens it. A well-made QR SVG is a single path for the modules and a rectangle for the background, so a designer can recolour it in one click. Many generators export one rectangle per module instead, which works but is bulky and can show hairline seams when scaled. The SVG optimiser shows the difference.

Do this

One path, one background rectangle, viewBox set to the module grid.

Not this

Six hundred tiny rectangles with pixel coordinates and a hairline gap between them at 37% zoom.

PDF

What print shops expect. A PDF holds the code as vector along with bleed, crop marks and colour profile. For a code that will be part of a larger printed piece, PDF is the safe hand-off.

Try it in QR Studio

QR Studio Pro exports a print-ready PDF with bleed and crop marks, and an SVG with your dot and eye styles as clean paths.

EPS

The older cousin of PDF, still requested by some print workflows and sign makers. Same advice: vector, CMYK. If you have PDF you rarely need EPS.

PNG

Right for screens, email and anywhere vectors are not supported. For print, export at 300 pixels per inch of the final size: a 5 cm code is about 2 inches, so at least 600 px, comfortably 1200 px. Keep the background opaque white unless you are certain what it will sit on.

Do this

A 1200 px PNG for a 5 cm code on a leaflet.

Not this

A 200 px PNG copied from a web page, stretched to 8 cm on a poster.

JPEG

No. JPEG compression blurs sharp edges, which is exactly what a QR code is made of. It also cannot do transparency. If a tool only offers JPEG, use a different tool.

CMYK and RGB

Screens use RGB; presses use CMYK. A pure black code in RGB (0,0,0) usually converts to a rich black or a slightly grey black in CMYK, both of which scan fine. Coloured modules can shift on conversion, so check the contrast of the CMYK version, not the screen version.

Checklist

  • Vector for print, PNG for screens, never JPEG
  • PNG at 300 DPI of the final printed size
  • SVG is single-path if a designer will edit it
  • Background opaque unless the placement is known and light
  • Colours checked after CMYK conversion
  • Final artwork run through the scannability tester

Try it yourself

Generate a single-path SVG and see how much smaller it is than the one-rectangle-per-module version most tools produce.

Get a clean SVG

Frequently asked questions

Which format does a print shop want?

PDF or EPS, in CMYK, with the code as vector. Ask; most accept SVG too.

Which format does a web developer want?

SVG. It is small, sharp at any size and can be recoloured in CSS. PNG is fine for email, where SVG support is patchy.

Can I scale a PNG up?

Not without blurring. Export it again at the larger size instead, or use a vector.

What about a transparent background?

Fine for placing on light backgrounds. On a dark or busy background the quiet zone disappears and the code fails.

Related reading

Make yours in QR Studio

Unlimited static codes free, no ads, no watermark. AI design, dynamic codes and print-ready export when you need them.

Download on the App Store