Generate a print-ready QR code with the QR Code Generator — SVG export, custom colors, and error correction levels, all in your browser.
The QR code that printed but never scanned
A marketing team orders 5,000 flyers with a QR code in the corner. The code looked perfect on screen. On paper, half of the scans fail, and customers assume the link is broken.
Printed QR codes fail for predictable reasons: too small, low contrast, crushed by the paper texture, or missing the quiet zone that scanners need to locate the code.
All of these are controllable at design time. The rules below take five minutes to apply and remove the most common failure modes.
Size: start from the scanning distance
The minimum printable size depends on the distance between the reader and the code. A good working rule: the code should be at least 2 cm (0.8 in) per 1 meter (3 ft) of expected scan distance.
For a poster viewed from 2 meters away, print the code at least 4 cm wide. For a business card scanned at arm's length, 2 cm is enough — but verify on your smallest intended use, not the largest.
If you are not sure, print a test at the target size, scan it from the intended distance, and measure the actual failure rate instead of guessing.
- Business card: at least 2 × 2 cm
- Flyer and A4 handout: at least 3 × 3 cm
- Poster viewed from 2-3 m: at least 4-6 cm wide
- Large signage: scale with the viewing distance, not with the artwork
Contrast: dark modules on a light background
Scanners look for dark modules against a light background. The safest combination is pure black on pure white. The QR standard expects a minimum contrast, and the more you deviate, the more scans you lose.
Keep the background plain. Patterns, gradients, or photos under the code reduce contrast locally and confuse the scanner. If the design requires a colored code, test it at the target size on the final substrate.
Do not place the code on dark, glossy, or metallic surfaces. Glare and reflections make modules unreadable regardless of the file on screen.
Warning: The 'dark' modules must be darker than the surrounding area. Dark-on-dark and light-on-light codes fail on paper even when they look fine on a screen.
Error correction: choose the level for the substrate
QR codes tolerate damage up to a point defined by the error correction level. Level L recovers about 7% of the code, M about 15%, Q about 25%, and H about 30%.
For print, the substrate matters more than the screen preview. Rough cardboard, fabric, or textured labels can damage or obscure modules, so a higher level such as Q or H buys real reliability.
Higher levels make the code denser, which means it needs to be printed larger to scan at the same distance. Balance the two: H on a slightly larger code beats L on a smaller one.
The quiet zone is part of the code
Every QR code needs a clear margin around it called the quiet zone. The standard requires four modules of empty space on each side — the same width as four of the smallest black squares.
Printing the code edge-to-edge or flush against text, logos, or the paper border eats into this zone and breaks scanning, especially at small sizes.
The generator on this site includes a configurable margin. Keep at least the default, and do not crop it when placing the code into the layout.
Materials: test the final substrate
Paper is the easy case. Stickers, fabric, corrugated cardboard, and metal introduce their own problems: stretching, low contrast, or glare.
For fabric or curved surfaces, use the highest error correction level and enlarge the code. For metal or glass, expect reflections and test with the actual material under the actual lighting.
Print a proof on the final substrate and scan it with two or three different phone apps before committing to a large print run.
- Paper and card: standard settings work
- Stickers and labels: watch the backing texture and peel-off damage
- Fabric: enlarge and use level H
- Metal and glass: test under shop lighting; glare can kill scans
Print-ready workflow, step by step
- Open the QR Code Generator and enter your URL or text.
- Set the error correction to Q or H for print, and enable the quiet-zone margin.
- Export as SVG for vector sharpness, then place it in the layout at the target size.
- Check the contrast against the final background color, not the screen mockup.
- Print a proof on the actual substrate and scan it from the real distance with multiple apps.
FAQ
Q.What is the minimum size for a printed QR code?
A.There is no universal minimum; it depends on scanning distance. Use roughly 2 cm per 1 meter of distance as a starting rule, then verify with a test print at the actual size and distance.
Q.Should I print from an SVG or a PNG?
A.Use SVG for vector output so the modules stay crisp at any print size. A PNG needs to be high resolution (at least 300 DPI at the target size) to avoid blurry module edges.
Q.Can I print a colored QR code?
A.Yes, if the modules stay dark relative to the background and contrast is maintained. Test the exact colors on the final substrate; some ink and paper combinations drop below the contrast scanners need.
Q.Should I use a dynamic QR code for print?
A.Static codes work forever and contain no tracking. Dynamic codes need a server and expire or stop working if the service disappears. For print materials that outlive campaigns, static codes are the safer choice.
References
This guide is based on the QR code specification and common printing practice:
- ISO/IEC 18004 – QR Code bar code symbology specification: https://www.iso.org/standard/62021.html
Generate a print-ready QR code
SVG export, custom colors, and error correction levels — entirely in your browser.
Five minutes of rules, zero broken prints
Size for the scanning distance, keep contrast high, pick a higher error correction level for real substrates, preserve the quiet zone, and test the final material before the run.
Generate and export the code with the QR Code Generator, then apply these rules in your layout tool.