Every QR code generator gives you a PNG download. The better ones also give you SVG. Which should you use?
Short answer
- Use SVG for anything that will be printed at a known final size. Vector format, scales infinitely, no jagged edges, smallest possible file.
- Use PNG for digital use: websites, emails, social media, screen displays. Universal compatibility, no surprises.
OneDollarQRcodes gives you both with every order, so you don't actually have to choose — but here's the reasoning.
SVG is vector
SVG is XML describing shapes. When you print a 1-inch SVG at 10 inches, every line stays mathematically perfect. There's no pixel grid that becomes visible at higher zoom.
This matters for:
- Print: posters, signs, packaging, business cards. Anything beyond ~3 inches really shows the difference.
- Banners and large format: the only sane choice.
- Logo replacement: designers prefer SVG for compositing.
Downsides: Microsoft Word doesn't render SVG nicely in older versions. Some social media platforms won't accept it. Email clients vary.
PNG is raster
PNG is a grid of pixels. Resolution is fixed at export time. Scale it up and you see jagged edges; scale it way up and it pixelates.
This matters for:
- Websites + email: PNG is the universal "just works" choice.
- Quick screenshots / sharing: every app supports PNG.
- Print at small fixed sizes (under 1 inch): can be fine if the PNG was exported at high enough resolution.
The DPI math
Printing PNG? Use this formula: pixels = inches × 300 DPI.
For a 2-inch printed QR: at least 600×600 pixels. For 4 inches: 1200×1200. Below that and you'll see jagged module edges.
SVG sidesteps the math entirely — print at any size, edges stay sharp.
When you only have PNG
Sometimes you've got a PNG and you need to print bigger than expected. You can upscale with Real-ESRGAN or similar AI upscalers, but it's a Band-Aid. Better to re-export at the size you actually need.