A QR code that scans perfectly on your screen can still fail on a printed poster, a glossy menu, or a sign across the room. This tester reads your code and then degrades it the way the real world does — softening focus, tilting the angle, adding glare and grain, shrinking it, and covering part of it — checking at every step whether it still decodes. The result is a single scannability score, a pass/fail map of every hazard, and a plain-English list of what to fix.

How to Test a QR Code

  1. Add your QR code. Click to choose an image, drag and drop it, paste a screenshot, or tap Use camera to photograph a printed code. PNG, JPG, GIF, WEBP, and BMP all work.
  2. EZQR runs the gauntlet. It reads the code, then generates dozens of degraded copies — blurred, rotated, compressed, shrunk, dimmed, and partly covered — and tries to scan each one.
  3. Read your report card. See a scannability score from 0 to 100, a breakdown of where your code holds up and where it breaks, targeted fixes, and a hardened, maximum-error-correction copy you can download.

What the Gauntlet Tests

Blur & focus

Simulates a camera that can't lock focus — the classic reason a printed code won't scan.

Angle & perspective

Tilts and skews the code the way a phone held off to the side sees a poster or table tent.

Glare & lighting

Adds highlights and dims the image to mimic shiny paper, screens, and dim rooms.

Small size & distance

Shrinks the code to test whether fine detail survives when it's printed small or scanned from far away.

Damage & obstruction

Covers part of the code — a scuff, a sticker, a logo — to measure its error-correction headroom.

Compression & noise

Runs it through harsh JPEG compression and sensor grain, the way messaging apps and cheap cameras do.

Why a QR Code Fails to Scan

Most unscannable codes fail for one of a handful of reasons — and the report card pinpoints which one is yours:

From "It Might Scan" to "It Will Scan"

The tester doesn't just grade your code — it hands you a hardened copy regenerated at error-correction level H, the most damage-tolerant version, pointing to the same place. Want to go further? Rebuild it in the custom QR code generator with your colors and logo while keeping the contrast and quiet zone that keep it scannable, or make a crisp vector QR code that stays razor-sharp at any print size.

Test Before You Print — Then Stay Editable

Testing catches a code that won't scan. But even a perfectly scannable static code has a second failure mode: it's locked to one destination forever, so if the link is wrong — or just changes — you reprint. Dynamic QR codes let you change where the code points after it's printed, and track every scan, so you can confirm it's working in the real world instead of hoping.