Design
QR code module shapes compared — square to organic
Module shapes are safe when each module keeps roughly 60% or more of its ink and neighbouring modules never merge into ambiguous blobs. Square is the 100% baseline, rounded keeps about 91% of the ink, dots about 55%, and the risk rises in that order — always decode the styled export before using it.
Why shape is a contrast problem in disguise
A decoder samples each cell of the grid — effectively reading near the centre of every module — and asks: dark or light? Any shape that keeps the centre solidly inked and the cell majority-dark reads identically to a square. Styling fails in two ways: starving a module (so little ink that blur or print gain tips its sample light) and merging neighbours (ink bridging cells that should be light). The working floor is roughly 60% ink per module, and merging is never acceptable.
The styles, measured
These are UseQR's eight module styles (style= parameter), with the exact geometry the
renderer uses and the risk that geometry implies:
| Style | Geometry | Ink per module | Risk |
|---|---|---|---|
square |
full cell | 100% | none — the baseline |
rounded |
corner radius 0.32 × module | ~91% | low |
vertical-bars / horizontal-bars |
runs joined into capsules, 6% inset each side | ~88% | low |
organic |
0.5 × radius on free corners; connected runs stay joined | ~91–100% | low–medium |
dot |
circle at 84% of module width | ~55% | medium |
diamond |
oversized 13% so neighbours overlap | ~65% | medium |
star |
pointed star inside the cell | lowest of the set | highest |
Three details worth noting. The dot's 84% diameter still leaves only about 55% of the cell inked, which is why dot codes have a density limit. The diamond is deliberately drawn 13% oversized — pure inscribed diamonds touch only at points and drop below decoder tolerance, so the overlap is what keeps the style safe. And the organic style rounds only free corners, so adjacent dark modules remain physically connected — controlled merging along the grid, not across it, as explained on the organic styles page.
How to choose
- Print small or scan far: square or rounded. At small physical sizes the reduced ink of dots and stars is the first thing blur erases — see rounded vs square for the print-size arithmetic.
- Soft brand look at normal sizes: rounded, bars, or organic.
- Decorative, generous size, short payload: dot, diamond, or star — and keep the version low so modules stay large. A dense code amplifies every shape's weakness.
Eyes follow their own rules: UseQR pairs each module style with a matching default eye
(dots get circle eyes, rounded and bars get rounded eyes) but the
eye shape is set independently via eye= and
ball=, and eyes should always stay solid and high-contrast.
Whatever the choice, the test is empirical: run the styled export through the validator, at the size it will actually be used. Styling risk is cumulative with size, contrast and logo choices, and only a real decode of the real artwork accounts for all of them at once.
FAQ
Do styled QR code modules scan as well as square ones?
Rounded modules scan essentially as well as square in normal conditions. Dots, diamonds and stars carry less ink per module, which costs margin at small sizes, low resolution or long distance. The style itself is rarely fatal; the style combined with small print often is.
What is the safest non-square module style?
Rounded, which keeps about 91% of each module's ink and never merges neighbours. Bar styles are close behind. Both look noticeably styled while giving up very little scanning margin.
Can module shapes touch each other?
Along the grid, deliberately — bar and organic styles join orthogonal neighbours and decode fine, because the joined cells were all dark anyway. What must never happen is ink bridging into cells that should be light, which changes sampled values and corrupts data.
Which module style should I avoid?
Star modules at small sizes. They carry the least ink of any style, so printing blur and camera noise push their samples toward the background first. If the code is generously sized and the payload short, they can still verify — decode the export to check.
Try it — free, no signup
Related
- QR code design best practices — seven rules ranked — The seven design rules that decide whether a styled QR code scans, ranked by how often breaking them kills codes, with the number behind each rule.
- Rounded vs square QR modules — when rounding costs you — Rounded modules keep about 91% of a square's ink and scan just as well, until small print sizes where corner radii shrink below printer resolution.
- Dot-style QR codes — how far circles can go — Dot modules are circles at 84% of the cell width, about 55% of the ink. Why that works, the density limit where it breaks, and why the eyes stay solid.
- Organic and fluid QR styles — controlled merging — Organic QR styles join neighbouring modules into flowing shapes. Why joining along the grid is safe, where blob styles go wrong, and how to verify.
- Custom QR code eye shapes — what survives detection — QR eyes can be square, rounded, circle, leaf or diamond. What the 1:1:3:1:1 detection ratio allows, and the risk order of the common variants.