Three things separate a QR that scans from one that mostly does.
Every QR is the same underlying grid. What changes is how forgiving the design is to print wear, low light, and oblique camera angles. The generator above defaults to the safe settings. Here's what each one does — and the scanability score that ties them together.
Contrast above 4:1
The decoder thresholds each cell — darker than the threshold, or lighter. Anything that drops the contrast under 4:1 (pastel modules, light backgrounds) starts failing in dim light. Brand colors work as long as they stay dark enough.
Error correction H or Q
Reed-Solomon redundancy lets the decoder lose up to 30% of the modules and still read. The generator uses level Q by default, H when you add a logo. The full table is in QR error correction levels.
Short links keep it sparse
A 90-character UTM-laden URL produces a dense, hard-to-scan QR. The short-link layer encodes a 14-character redirect into the QR, leaving room for higher error correction and bigger modules at the same print size.
Round QR codes that actually scan.
Every QR here is rendered live from the same designer the form above uses. Round modules give the QR a softer, more brand-aware look — and break in specific ways when the design isn't careful. The full breakdown of what works: round QR codes — what actually makes them work.
Why every QR here is dynamic.
A static QR bakes the destination URL into the print. A dynamic QR encodes a short link you control — the destination updates from a dashboard while the printed code keeps working. For anything you'll reuse, dynamic is the only safe call. The deep version: static vs dynamic QR codes and why every type should be dynamic by default.
Destination baked into print
The URL is encoded directly into the modules. A typo, a moved page, a re-branded campaign — and 10,000 flyers become useless. Free QR-image generators almost always produce static codes.
Destination changeable forever
The QR encodes a short link the platform owns. Change the destination in your dashboard and every printed code keeps working — no reprint, no recall, no broken campaign.
Four design controls, none of them at the cost of scanning.
Most "branded QR" tools change one or two of these and call it a day. The generator above gives you all four — and the scanability check that catches the combination that doesn't work. Full breakdown in how to design a custom QR code that actually scans and custom QR code shapes.
Eye style
The three corner squares scanners use to locate the code. Square, rounded, circle, leaf or diamond — round corners are the safe upgrade, fully circular eyes need careful design.
Body pattern
The encoded data area. Square modules are densest and safest; rounded and dots feel softer at the cost of ~22% per-cell area — recovered by error correction at level Q or higher.
Frame
A bordered shape around the QR with a "scan me" caption — square, rounded, circle, hexagon, heart. Adds the affordance and the brand voice the bare square doesn't have.
Logo overlay
Brand mark in the center with a small white clear-space ring. At under 25% of the QR area at error-correction level H, the decoder recovers fine. Push it past 30% and it starts failing in the wild.
Built for the surfaces a QR has to survive.
The same code looks identical in the editor and behaves differently on every surface. The generator above ships with defaults that survive each of these. Print test at size before production either way.
Magazines, packaging, business cards
Tight print runs at 20–30mm. Short URL keeps the modules large; error correction Q absorbs the small contrast drop from coated stock.
QR codes in print →Menus, table tents, receipts
Dynamic destination means seasonal menu swaps don't reprint. Custom subdomain reads as the venue, not a third-party shortener.
Dynamic by default →Billboards, bus stops, posters
Outdoor scanning happens from 1–3m. Level H, frame with CTA, branded subdomain — all three move the scan rate.
QR codes outdoors →Tickets, lanyards, exhibits
Event-day URLs change. Dynamic QRs let you re-point a printed badge from the welcome page to the live schedule mid-event.
Event QR codes →More from the QR side of the blog.
Newest writing on QR design, scan reliability, and the edge cases generators don't talk about.
Things people ask before they save.
Is the generator actually free?+
Yes — the free tier covers QR codes, short links, basic analytics, and a your-handle.linked.codes subdomain. The lifetime tier unlocks higher event volume, your own custom domain, and the whitelabel surface.
What error correction level should I use?+
Level Q (25% redundancy) for normal print, level H (30%) if you're adding a logo overlay. L and M are too fragile for anything that gets handled. Full table in QR error correction levels.
Will a colored QR still scan?+
If the foreground-background contrast stays above 4:1, yes. Most brand colors clear the threshold; pastels and very light shades fail. Detail in colored QR codes — when color helps and when it kills.
Can I change the destination after the QR is printed?+
Every QR generated here is dynamic. The destination lives in your dashboard — change it any time and the printed code keeps working. The static-vs-dynamic decision is unpacked in static vs dynamic QR codes.
Does the logo break the scan?+
Not if you keep it under 25% of the QR area at level H. The generator defaults to safe settings. Push it past 30% and it starts failing in dim light. Walk through designing a custom QR code that scans.
Can I export at print resolution?+
Yes — SVG (scales to any size), PNG, JPEG, and PDF. Vector formats reproduce cleanly at billboard scale; raster comes out at 1024×1024 by default and can be re-rendered larger from the dashboard.
Why does the short-link domain matter for a QR?+
The phone camera shows the URL preview before opening it. A scan that previews linkedco.de/abc reads as legitimate; a generic shortener URL reads as suspect. The trust gate fires before the destination loads. Walkthrough: the QR code domain matters as much as the design.
What if a QR stops scanning?+
Six fixes solve 95% of cases: re-export at higher resolution, bump error correction, increase contrast, enlarge the quiet zone, fix the logo overlay size, or check the print stock isn't reflecting. QR code not scanning — six fixes.
Save your QR. Re-point it whenever you need to.
Free to start. Lifetime tier for your own domain and higher event volume.
Get started free →