Size for print vs screen
A QR code must be large enough relative to its scan distance. A common rule of thumb is that the printed side length should be about 1/10th the distance at which it will be scanned — so a code scanned from 1 m (3 ft) should be at least 10 cm (4 in) wide.
On screens, render at least 240×240 px for a comfortable tap-to-scan. For print, export SVG or a high-resolution PNG (1024 px or more) so the code stays crisp when enlarged. Never scale a low-resolution PNG up — it will blur and fail to scan.
Keep the quiet zone clear
The quiet zone is the empty margin around the code (at least 4 modules wide) that lets a scanner find the code. Text, borders, or graphics bleeding into this margin are the most common reason otherwise-good codes fail to scan.
QRForge lets you set the quiet zone explicitly (0, 2, 4, or 8 modules). Keep it at 4 for normal use, and increase it only when you need extra padding inside a designed frame.
Choose error correction for the use case
Error correction (L/M/Q/H) lets a code scan even when part is damaged or covered. Use M by default; use H whenever you embed a centered logo, print on rough surfaces, or expect wear; use L only for clean digital codes where you need maximum data capacity.
Higher levels mean denser grids for the same data, so pair H with a short link — not a long URL — so the code stays easy to scan.
Contrast and lighting
Scanners need strong contrast between the dark and light modules. Dark foreground on a light background scans best; avoid low-contrast pairs like grey-on-white, and avoid inverting the code (light modules on a dark square), which many readers reject.
For print, use matte finishes — glossy paper reflects light and creates glare that breaks scanning under restaurant or event lighting. Test the printed code in the real lighting where it will be used.
Embedding a logo the right way
A centered logo is a great branding touch, but it covers data. Always pair a logo with error-correction level H, keep the logo to 20–22% of the code width, and leave a small light margin around it so it doesn’t merge with the data modules.
Never place a logo over the three finder “eye” patterns in the corners — covering them guarantees the code won’t scan. Test the final printed code with a real phone before distributing it.
Static vs dynamic for analytics
A static QR encodes its data directly and can’t report scan counts. If you need to know how many people scanned a code (menus, campaigns, events), point a static URL code at a landing page that counts visits, or use a dynamic QR that reports scans server-side.
Dynamic codes also let you fix a typo in the destination without reprinting — a real money-saver once codes are printed on packaging or signage.
Frequently asked questions
How big should a QR code be?
Roughly 1/10th the scan distance: 10 cm (4 in) for a 1 m (3 ft) scan. Never go below 2×2 cm (0.8 in), even on business cards.
What error correction level should I use?
M by default. H whenever you add a logo or expect wear; L only for clean digital codes where you need maximum capacity.
Can I use any colors?
Yes, as long as dark-on-light contrast is strong. Avoid grey-on-white, inverted codes, and low-contrast brand colors — they scan poorly.
Why won’t my QR code scan?
The usual suspects: quiet zone under 4 modules, a logo over a finder eye, low contrast, glossy print glare, or a code that’s too small for its scan distance. Fix these and retest.