<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Why a QR code scans on screen but fails once printed]]></title><description><![CDATA[<p dir="auto">A code that works on your monitor and fails on card is almost always one of these five.</p>
<p dir="auto"><strong>1. Not enough contrast.</strong> Cameras read light and dark, not colour. Dark-on-light with a real difference in brightness works; mid-grey on beige does not, however good it looks in the mockup. If you are unsure, photograph the printed code in black and white — if you can barely see the pattern, neither can a phone.</p>
<p dir="auto"><strong>2. Inverted colours.</strong> Light code on a dark background fails on a meaningful share of scanners. Some read it, some do not, and you will not know which your customers carry.</p>
<p dir="auto"><strong>3. The quiet zone was trimmed.</strong> The clear margin around the code is part of the code. Layouts routinely eat it.</p>
<p dir="auto"><strong>4. Gloss and lamination.</strong> A glossy laminate under a downlight throws a highlight straight back at the lens. Matte finish is worth the small extra cost anywhere the code sits under direct light.</p>
<p dir="auto"><strong>5. Too much data crammed in.</strong> The more you encode, the more modules, the finer each one, the worse it survives ink spread. Pointing at a short URL instead of a long one with tracking parameters attached is the single easiest fix.</p>
<h3>Error correction is not a free pass</h3>
<p dir="auto">Higher error correction lets a code survive damage — a logo in the middle, a scuff, a fold. It does this by adding redundancy, which means <em>more</em> modules in the same space. Turning it up to survive a logo can make a small code harder to scan, not easier. If you are placing a logo, grow the code at the same time.</p>
<h3>When it is already printed</h3>
<p dir="auto">If a run is out in the world and scanning badly, a dynamic code is the difference between a reprint and an afternoon: the destination can be changed without touching the artwork. A static code cannot — the destination is baked into the pattern itself. That is the main reason to prefer dynamic for anything that gets printed in volume.</p>
]]></description><link>https://qrcodestack.com/community/topic/3/why-a-qr-code-scans-on-screen-but-fails-once-printed</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 14:35:32 GMT</lastBuildDate><atom:link href="https://qrcodestack.com/community/topic/3.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 29 Aug 2026 15:10:19 GMT</pubDate><ttl>60</ttl></channel></rss>