SVG vs PNG vs JPG: Choosing the Right QR Code Export Format
The generator exports three formats, and picking the right one matters more for QR codes than it does for a lot of ordinary images — the wrong choice can genuinely make a code unscannable, not just look slightly worse. Here's what each format actually is, and when it's the right call.
SVG — vector, resolution-independent
SVG (Scalable Vector Graphic) describes the code as mathematical shapes rather than a grid of pixels, which means it has no native resolution to blur past — the same file prints crisply at business-card size or scales up to a building banner with zero quality loss. This is the right default for anything that will be printed, especially at more than one size, since a raster file scaled beyond its native resolution is the single most common cause of blurry, unscannable printed codes. It's also the safest choice when you're not sure yet what final size something will end up at, since there's no risk of having exported "too small."
The one limitation: SVG isn't universally supported everywhere a simple image is expected — some older software, certain email clients, or platforms that only accept standard image uploads may not handle SVG directly. For pure print production this rarely matters; for embedding directly into a webpage or an app that expects a raster image, check compatibility first.
PNG — raster, with transparency support
PNG is a pixel-based (raster) format like JPEG, but unlike JPEG, it supports a genuine alpha channel — meaning it can hold real transparency. This makes PNG the right choice whenever you need a transparent-background code to composite over a photo, a colored design, or anything besides a plain white background, and it's also a safe general-purpose choice for anything staying digital (a website, a slide deck, a digital signage display) where universal raster-image support matters more than vector scalability.
Because it's raster, the same scaling caution applies as any pixel-based image: don't take a PNG generated at a given resolution and stretch it dramatically larger for print — the generator exports PNG at a reasonably high resolution by default, which covers most digital and moderate-print uses, but SVG remains the safer choice for anything print-focused specifically.
JPG — raster, no transparency, smallest file size
JPEG compresses more aggressively than PNG, producing smaller files at the cost of some image quality and, critically, no transparency support at all — a JPEG export always has a solid background, regardless of any transparency setting, because the format simply has no mechanism to represent transparent pixels. JPEG is a reasonable choice for simple digital use where file size matters more than any of the above concerns (a quick email attachment, a casual social share), but it's rarely the best choice when SVG or PNG are equally available and don't have JPEG's limitations.
A quick decision guide
Printing at any size, especially large or unknown final size: SVG. Need a transparent background, or staying digital generally: PNG. Quick, casual digital use where file size is the priority and transparency doesn't matter: JPG.
Why this matters more for QR codes specifically
Most images tolerate some resizing or format compromise without becoming unusable — a slightly blurry photo is still recognizably a photo. A QR code has a much narrower tolerance: enough quality loss in the wrong format, at the wrong size, and it stops working entirely rather than just looking slightly worse. That's the real reason format choice gets more attention here than it might for an ordinary graphic — the downside of picking wrong isn't cosmetic, it's a code that simply doesn't scan.
The short version
Default to SVG for anything print-bound, switch to PNG when transparency or general digital use is the priority, and reach for JPG only when file size is the deciding factor and transparency isn't needed. The generator offers all three from the same design, so switching formats costs nothing beyond re-downloading.