The short answer
A QR code is just a grid of squares, and the file format you export it as decides how that grid survives being scaled, printed, and re-edited. There are three formats that matter, and they fall into two families: raster (PNG) stores the grid as a fixed grid of pixels, and vector (SVG and EPS) stores it as mathematical shapes that scale to any size without ever losing sharpness. The choice comes down to one question — where the code is going to live.
For a screen, a PNG is enough. For print on a flyer, business card, or poster, a vector SVG (or EPS for a design workflow that needs it) is the right call because it stays razor-sharp at any size. The one rule that catches people: a raster PNG is only safe for print when it is generated at 300 dpi at the final printed size — a small screenshot stretched up blurs the grid and kills the scan. This page covers each format, when it wins, and how QRForge exports them. For the broader print recipe, see our qr code printing guide, and for sizing see the qr code size guide.
PNG — the raster format for screens
PNG is a raster image: it stores the QR code as a fixed grid of pixels at a set resolution. That makes it the natural format for screens — a website, an email, a social post, a digital display — because the destination renders pixels directly. Generate it at a comfortable size (at least 240×240 px, ideally 2× that for retina) and it will scan at arm’s length on any modern phone.
PNG is also safe for print, but only when you respect its one hard limit: a raster image has a fixed pixel count, so it only stays sharp up to the physical size implied by its resolution. Print the same PNG larger than it was generated for and the pixels stretch, the module edges soften, and the camera can no longer resolve them. The fix is to generate the PNG at the final printed size at 300 dpi or more — about 600 px for a 5 cm (2 in) code, 1200 px for a 10 cm (4 in) code. Round up, never down. The qr code printing guide covers the 300 dpi rule in depth.
SVG — the vector format that scales to any size
SVG is a vector format: instead of pixels, it stores each module of the QR code as a mathematical rectangle, so the printer rasterizes the pattern at its own resolution at print time. The result is a code that scales from a 2 cm business card to a 2 m billboard with no quality loss whatsoever — every module edge stays razor-sharp because there are no pixels to blur. For any print job, SVG is the default recommendation and the single biggest print-quality lever, and it costs nothing.
SVG is also editable: because the shapes are described as text, you can open the file in a vector editor, recolour the modules, change a logo, or stitch the code into a larger design without re-generating it. The one caveat is that SVG is a web-native vector format, so some legacy print houses and older design workflows prefer its sibling EPS — covered next. For the generation flow that produces these exports, see our how to make a QR code guide.
EPS — the vector format for print and design workflows
EPS (Encapsulated PostScript) is the other vector format, and it stores the same shape data as SVG in a PostScript dialect that the print and design industry has used for decades. EPS produces the same razor-sharp, infinitely-scalable output as SVG — module edges never blur at any size — but it slots into the workflows some print houses, RIPs, and older design tools expect, where SVG support is patchy.
For a brand-new digital-first workflow, SVG is usually enough and is more portable. Reach for EPS when a print provider specifically asks for it, when you are dropping the code into a legacy Adobe/Illustrator pipeline, or when the design file is destined for a PostScript RIP. Both vector formats are interchangeable in the quality they deliver for a QR code; the difference is which toolchain they fit. The qr code printing guide treats SVG and EPS as the same recommendation — pick the one your printer accepts.
When each format wins — screen, print, and large-format
The decision is driven by where the code ends up, not by which format is “best” in the abstract. A PNG is right for a screen because screens render pixels directly. A vector (SVG or EPS) is right for any print because print scales the artwork, and a raster image only stays sharp up to the size its pixel count allows. For large-format output — a banner, a billboard, a trade-show sign — vector is not just preferable, it is the only sensible choice: a PNG large enough to print a 1 m code would be an enormous file, while an SVG stays a few kilobytes and prints just as sharp.
There is one honest exception: a quick one-off test print on a home printer, where you only need one copy and the size is modest, a high-resolution PNG (say 1024 px or more) will scan fine. But the moment you care about scaling, reprinting at a different size, or sending to a print house, switch to vector. The table below collects the three formats with the surface each is best for; the qr code size guide has the size rules that pair with each.
The format comparison at a glance
Here are the three formats side by side, with the surface each is best for and the one caveat that goes with it. Treat the third column as the rule that decides when the format is safe versus when it will let you down.
| Format | Type | Best for |
|---|---|---|
| PNG | Raster (fixed pixel grid) | Screens, email, social, digital displays; also print only when generated at 300 dpi at the final size — never scale a small PNG up. |
| SVG | Vector (mathematical shapes) | Any print — business cards, flyers, posters, billboards — because it scales to any size with sharp edges; also editable in vector tools. |
| EPS | Vector (mathematical shapes, PostScript) | Print and design workflows that expect a PostScript/EPS file (legacy print houses, some RIPs, older Adobe pipelines); same quality as SVG. |
| High-res PNG (1024px+) | Raster, large pixel count | A quick one-off test print at modest size where you do not need to scale or reprint; vector is still safer for anything serious. |
| Small PNG (screenshot) | Raster, low pixel count | Never for print — stretching it up blurs the modules and the code stops scanning. Only acceptable for a tiny on-screen preview. |
The 300 dpi rule for raster print
DPI (dots per inch) only means something relative to a physical print size. The number that matters is the final pixel count: the printed width in inches times 300, rounded up. A code printed at 3 inches across wants roughly 900 px; the same code printed at 6 inches wants roughly 1800 px. Below 300 dpi the module edges soften and small or dense codes fail to scan; above 300 dpi there is no meaningful gain, so do not waste file size on 600 dpi exports.
The trap is scaling: enlarging a low-resolution raster in your layout software does not add detail, it just stretches the same blurry pixels. If the source PNG is too small, regenerate it at the right size rather than enlarging it in the design file. Vector export sidesteps the entire problem — which is exactly why vector is the default recommendation for print. The qr code printing guide walks through the resolution rule with worked examples.
How QRForge exports each format
QRForge generates all three formats from the same styled code, so the choice is purely about the destination. Pick PNG and you get a raster export ready for screens or for a print that you have sized correctly at 300 dpi. Pick SVG and you get a web-native vector file that scales to any size and stays editable in vector tools. Pick EPS and you get the same vector quality in a PostScript file for the design and print houses that expect it. The styling — colours, gradients, per-eye and per-module shapes, a centered logo, a frame and caption — is preserved identically across all three, so the exported file always matches the live preview.
Because the preview renders live in the browser, you can scan-test the styled code on your phone before you export, then download the format your destination needs — PNG for screens, SVG or EPS for print. The how to make a QR code guide covers the export step in the full generation flow, and the qr code printing guide covers the print-specific choices (resolution, error-correction level H, quiet zone, matte stock) that pair with whichever format you choose.
Frequently asked questions
What is the best file format for a QR code?
It depends on where the code is going. For a screen, PNG is the natural fit. For any print, a vector format — SVG or EPS — is best because it scales to any size with razor-sharp module edges. A PNG is only safe for print when it is generated at 300 dpi at the final printed size; never scale a small PNG up.
What is the difference between PNG and SVG for a QR code?
PNG is a raster image: a fixed grid of pixels, ideal for screens but only sharp up to the size its resolution allows. SVG is a vector image: each module is a mathematical shape, so it scales from a business card to a billboard with no quality loss. For print, SVG is the safer choice; for screens, PNG is simpler.
Is EPS or SVG better for printing a QR code?
Both deliver the same infinitely-scalable vector quality for a QR code. SVG is more portable and web-native; EPS is the format some legacy print houses, RIPs, and older Adobe pipelines expect. Pick whichever your printer accepts — if they do not say, SVG is the safe default.
Can I print a QR code from a PNG?
Yes, but only if the PNG is generated at 300 dpi at the final printed size — about 600 px for a 5 cm code, 1200 px for a 10 cm code. Stretching a small screenshot up blurs the module edges and the code stops scanning. For any print where you might scale or reprint, a vector SVG or EPS is safer.