QR Code Validator
Drop in a QR code file and see what a scanner sees: whether it decodes, the contrast between the colours actually in the artwork, the quiet zone the file carries, the module size, and the error correction it was built with.
Drop a QR code image here, or paste one
PNG, JPG, WebP or GIF
Measured in your browser. The file is never uploaded, and nothing about it is stored or sent anywhere.
Only want to know what it says? The QR code scanner reads the content and stops there.
A Code That Decodes Is Not a Code That Ships
On a screen a QR code gets perfect light, perfect focus and full size. Print gives it none of those, and the difference between the two is the margin this page measures. The minimum print size guide covers what to do with each finding.

What Gets Measured
Every figure above is read off the image itself rather than asked for in a form, which is what separates this from the three calculators. Drop in a file from a supplier with no notes attached and it still answers.
- Contrast between the two colours actually present in the artwork, taken as the median of every dark module and every light one, so a logo or a gradient cannot drag it.
- The quiet zone the file carries, measured outward from each edge in modules and reported on its worst side.
- Module size in pixels, which is what decides whether the export survives being placed, scaled or reprinted.
Read From the Symbol Itself
The error-correction level comes out of the code's own format information - the ring of modules beside the finder patterns that every QR code carries - not from whoever exported the file. So it is true of the artwork in front of you, whatever the file was named.
The same applies to the symbol version and the payload length. Both are properties of the code rather than claims about it, which is why this page can grade a file nobody has the source for.

How to Validate a QR Code Before Printing
Four steps from a file to a decision you can defend.
Generate a QR Code- 1
Drop the Export In
The file exactly as it will be placed, not a screenshot of it and not a resized copy. A screenshot measures the screenshot's resolution, which is a fact about your monitor rather than about the artwork.
- 2
Read the Verdict
The worst check carries the result. A QR code is as scannable as its weakest property, so a single failing row matters more than four passing ones.
- 3
Fix It in the Artwork
Darken the modules, restore the margin, or regenerate at a larger size. Error correction repairs damaged data; it cannot supply a quiet zone or invent contrast that was never there.
- 4
Proof It on the Real Stock
Print one sheet at final size on the material the job runs on and scan it with two phones. Nothing measured on a screen settles a print job.
What Usually Goes Wrong
The four findings this validator returns most often.
A Pre-Print Checklist
Ten checks around the file - including four things this page cannot see, one of which usually decides the job.
Check the Placed Size, Not the File
A file has no physical size. Measure the code in the layout, in millimetres, including its quiet zone - that number is invisible to any validator and is the single strongest predictor of whether the code scans.
Check the Material
Uncoated, kraft and corrugated stock spreads ink into the light gaps between modules, so it works from a 0.5 mm module floor rather than 0.4 mm. The file looks identical either way.
Check the Finish
A gloss laminate reflects a ceiling light straight back into the camera as a bright patch. For anything mounted rather than handled, specify matte and keep foil, spot UV and metallic ink out of the symbol and its margin.
Check It Under Real Light
Shop shelves, restaurant downlights and dusk on a high street all take contrast the design file kept. Look at the proof where the code will actually live, not at a desk.
Check on Two Phones
One iPhone and one Android, at the distance the code will be read from. Different decoders make different trade-offs, and a code that needs two attempts on either has no margin left.
Open the Decoded Link Yourself
This page reports the payload; it does not visit it. Paste the decoded string into a browser and check that the destination resolves, is HTTPS, and is not a redirect chain that a previous campaign has since retired.
Confirm the Destination Is Mobile-Ready
Every scan arrives on a phone, on mobile data, often in poor signal. A PDF menu that takes fifteen seconds to open fails as surely as a code that will not scan.
Keep the Vector Original
Validate the raster export, but place the SVG, PDF or EPS in the layout. Archive the vector file with the artwork so the next print run does not start from an upscaled PNG.
Re-Validate After Every Edit
Recolouring, rounding the modules, dropping in a logo or resizing in the layout each change what a decoder sees. Validate the final file, not the one from before the last round of comments.
Print One Proof at 100%
One sheet at final size on the real stock answers more than any measurement on this page. It is the only test that includes the paper, the ink, the finish and the light at the same time.

Or Start From a Code That Passes
KoloQR, a free QR code generator with circular and custom-shaped QR codes, keeps the four-module quiet zone on its plain and round exports, the contrast check and the error-correction level where they belong - and exports SVG, PDF, EPS and PNG.
No account, no watermark and no per-code charge. Codes are generated in your browser, so the destination is never sent to a server.
Generate a QR CodeQuestions? Answered
This one checks five things, all read off the image: whether the symbol decodes at all, the contrast between the two colours actually in the artwork, the quiet zone the file carries, the pixels per module, and the error-correction level stored in the code's own format information.
Because this is perfect light at full size and a shelf is neither. The gap is spent on printed size, paper reflectance, ink spread, glare and reading distance - none of which a file can show. Check the placed size in millimetres and print a proof on the real stock.
No. Error correction recovers damaged modules inside the data area after the symbol has been located. A missing quiet zone stops it being located in the first place, so there is nothing for the recovery to repair. The four-module margin has to come from the layout.
Level H, which recovers 30%, whenever a logo sits over the centre. Level M, recovering 15%, is fine for a clean code in a controlled setting and keeps the symbol smaller. Q is the middle ground for codes on packaging or anywhere the surface gets scuffed.
Four or more in the exported file keeps module edges hard through a resize, a compression pass or a reprint. Two or three still decodes on screen but leaves nothing in reserve. Below two, regenerate the code at a larger size rather than upscaling the file you have.
Not directly - a browser cannot rasterise an SVG without being told a size, so export it to PNG at the width you intend to print and validate that. The contrast and error-correction findings apply to the vector original; the pixels-per-module figure describes only the raster you exported.
No. It decodes the payload and reports it, but it never visits the destination - nothing here makes a network request. Copy the decoded string into a browser yourself and confirm the page loads, uses HTTPS, and is not a redirect that a previous campaign has retired.
Four modules of flat, light margin on all four sides, which is what ISO/IEC 18004 specifies. Many decoders manage on two in good conditions, which is why a short margin rarely shows up on screen - and why it is the first thing to cost a scan once the print or the background is poor.
Because the plain decode failed and the modules had to be filled out to their cells first. Rounded, dotted and other decorative modules put roughly half the ink of a square module into each cell, and a decoder hunting the 1:1:3:1:1 finder ratio reads exactly that ink. Size such codes generously.
If it decodes, yes, and the report describes the damaged file rather than the original. If it does not decode, that is a finding in itself: a code a decoder cannot find in a clean digital image will not be found on a shelf either.
Indirectly, from the payload. A dynamic code carries a short link to a redirect service, so its decoded content is a short URL on a provider's domain rather than your own destination. A static code carries the destination itself and never expires or changes.
Keep Exploring
Pages that pick up where this one leaves off - the same setting, the same kind of code, or the next thing worth deciding.
Event QR Codes
One scan connects guests to tickets, schedules, directions and RSVPs - on invites, posters and signage.
Retail Stores
Product details, stock and review links on shelf labels, shop windows and checkout signs.
QR Code Shapes
The whole shape taxonomy - modules, eyes and frames - with the trade-offs behind round, triangle, hexagon and square codes.
Triangle QR Codes
Angular, geometric QR designs - how triangular styling works and when to use it.
URL QR Code
Send anyone straight to a web page, landing page, or link with a single scan.
QR Code Print Size Calculator
Turn a scanning distance, a payload and a material into a minimum width in millimetres, with the module size and quiet zone behind it.
Why KoloQR?
- Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
- Customize colors, logos, and unique shapes
- Download high-quality PNG and SVG files
- Built for both print and digital
