qr-implementation
Wedding QR Code Not Scanning? Here's the Fix
A wedding QR code usually fails for one of five reasons: size, contrast, damage, a dark-mode screen, or a degraded screenshot. Here's the fix for each.
qr-implementation
A wedding QR code usually fails for one of five reasons: size, contrast, damage, a dark-mode screen, or a degraded screenshot. Here's the fix for each.
A wedding QR code that won't scan is almost always failing for one of five reasons: size, contrast, damage, a dark-mode display, or a degraded screenshot. The code might be too small for its reading distance, printed with too little contrast, or physically damaged. A guest's camera app might not read QR natively, or the file has been screenshotted and re-forwarded until it's too degraded to resolve. Each has its own fix below.
| Symptom | Likely cause | Fix |
|---|---|---|
| Nothing happens up close | Code smaller than about 2x2cm, or under the 10:1 distance ratio | Reprint at 1.2in (3cm) for a table card, 5in (12cm) for a sign read from across the room |
| Guest has to press the phone against the card | Quiet zone too narrow, or the code sits too close to text or an image | Move the code onto a plain panel with clear space on all four sides |
| Slow or no scan by candlelight | Glossy or semi-gloss stock throwing glare | Reprint on matte card stock |
| Fine on a bright screen, fails on the card | Foreground and background too close in tone, or the code printed light on dark | Reprint as dark modules on a plain light background |
| Card is torn, curled, or creased | Physical damage breaks up the scan pattern | Reprint or swap the card |
| Scans for some guests, not others, same card | Guest's Android camera app doesn't scan QR natively | Guest tries Google Lens, or types the printed link instead |
| Fails when shown on a phone or website, not on print | Forced dark mode inverting the displayed code's colours | Switch to the printed card, or turn off dark mode for that page |
| Scanned fine once, fails once forwarded | Screenshot and re-forward compression degraded the file | Send the original file, not a forwarded screenshot of a screenshot |
Something is usually off with size, contrast, condition, or the file itself. Most printed cards fail because the code is too small for its reading distance, or because it lacks the dark-on-light contrast a camera needs. A code shown on a screen instead of printed can fail for a different reason: forced dark mode inverting its colours. A screenshotted, re-forwarded code often loses enough detail to stop scanning altogether.
The absolute floor is about 2x2cm, with roughly four modules of clear space, the quiet zone, on every side. Above that floor, size follows a 10:1 ratio: about 1 inch of code for every 10 inches of scan distance. A table card read from arm's length needs at least 1.2 inches (3cm) across; a welcome sign, read from three to four feet as guests arrive, needs closer to 5 inches (12cm).
Scanners expect dark modules on a light background. A code printed the other way round, light on dark, or set over a busy photo or watercolour wash gives the camera nothing solid to lock onto. Reprint it as dark modules on a plain light panel and it should resolve immediately.
Glossy or semi-gloss card stock throws a reflection straight back at the phone camera, and wedding lighting is almost all point sources: candles, festoon bulbs, uplighters. One glare across the code is enough to stop the scan. Reprint on [matte stock](/guides/printed-qr-cards), which doesn't reflect the same way.
Sometimes, but don't count on it. A crease, a tear, or a curl through the middle of the pattern breaks up the modules a scanner needs to read, and even a partial obstruction can stop a scan cold. [Reprint or swap the card](/guides/printed-qr-cards) rather than smoothing a bent one out and hoping.
Android 9 and later generally supports native QR scanning through the camera app or Google Lens, but it isn't implemented the same way everywhere. Samsung and OnePlus, among others, bury it in a settings menu instead of turning it on by default, and some budget phones skip it even on a current Android version. If a guest's camera won't scan, ask them to try Google Lens instead.
Only when the code itself is being displayed digitally, not when the scanning phone is in dark mode. A QR code shown on a wedding website, a text, or a saved image can have its colours inverted by forced dark-mode rendering, and an inverted code won't scan. Chrome 141 shipped a documented bug that did exactly this to images on some sites, including QR codes. If a digital code fails, use the printed card instead.
Screenshotting a QR code and forwarding it through a messaging app runs the image through lossy recompression, sometimes more than once. Enough fine detail gets lost that the code drops below the resolution a scanner needs to lock on. Send guests the original file or the printed card instead of a forwarded screenshot.
iPhones scan QR codes natively through the built-in Camera app on iOS 11 and later, no separate app needed, unless the QR-scanning toggle under Settings > Camera has been switched off. Android's native support varies by manufacturer, so a dedicated scanner app or Google Lens is a reliable fallback when the stock camera won't cooperate. [Guests never need to install anything](/faq#do-guests-need-an-app-to-share-wedding-photos) to open the album itself.
Print one card at final size on the stock you plan to use, then scan it with an iPhone and an Android phone under light as dim as your reception will actually be. Do this before the order goes out, not after. [Our placement guide](/guides/qr-code-placement) covers where each card should go once it passes, and how many to order.
Some of these failures are the printer's fault, and no software fix reaches them. A banding defect is one example. So is a low-resolution file blown up past its native size, or a print run where the printer's own colour management shifted "black" toward a warm dark grey. All three come from the print itself, and none of them resolve no matter how the card is placed or lit. The only fix is a reprint from a clean file, tested again before the full run goes out.
The two-phone, real-lighting test that would have caught most of this lives on our printed QR cards guide. Print one card, then scan it with an iPhone and an Android phone under the dimmest light the reception will actually have. Run the fixed card back through that same test before it replaces every card on the tables.
Chrome 141 shipped a forced dark-mode regression that inverted images, QR codes included, on some websites in October 2025.
The 2x2cm size floor, the four-module quiet zone, and the 10:1 scan-distance ratio used throughout this page match the figures already verified on our placement guide. The same source set covers the iOS 11+ native-scanning claim and the Android 9+ claim, OEM inconsistency included, used above.
Once a fix passes that test, reorder from a clean template rather than reprinting the same flawed file, and check where the new card should stand before it goes back on the tables.
One printed QR code, no app for guests, full-resolution photos and videos in a single album you keep.
Prefer plain text? Read the markdown version.