Skip to content
UseQR
ESC

↑↓ MOVE↵ OPEN48 PLACES

Design

Dot-style QR codes — how far circles can go

Dot-style QR codes draw each module as a circle at about 84% of the cell width, keeping roughly 55% of the ink — enough for decoders that sample module centres, but the first style to fail as codes get denser or smaller. Keep the version low, the print generous, and the finder eyes solid.

View as MarkdownPaste this page into any AI assistant — it is plain, portable Markdown.

The geometry of a dot

UseQR's style=dot replaces each dark module with a circle of radius 0.42 × the cell — a diameter of 84% of the module width, which inks about 55% of the cell's area. That is well below a square's 100% and rounded's ~91%, and it is the number every trade-off on this page flows from.

It still scans because decoders sample cells near their centres, and the centre of a dot is its most solid part. The visible white lattice between dots does not confuse the decoder — a majority-dark sample reads as dark. What the missing 45% of ink does cost is margin: blur, ink spread, glare and distance all push samples toward the background, and dots start that journey closer to the cliff edge than any common style except stars.

The density limit, in numbers

Dots fail when the circle itself approaches the resolution of the printer or the camera. The module count grows with the version, so density and physical size gang up:

Code Cells across (incl. quiet zone) At 2 cm wide Dot diameter At 300 DPI
Version 3 (29 modules) 37 0.54 mm module 0.45 mm ~5.4 px
Version 6 (41 modules) 49 0.41 mm module 0.34 mm ~4.1 px
Version 10 (57 modules) 65 0.31 mm module 0.26 mm ~3.1 px

A 3-pixel circle at 300 DPI is barely a circle, and after ink gain on paper it may be barely a mark. Working rules:

  • Keep the version low. Short URLs produce low versions; a long tracking URL can force version 10+ and quietly break a dot design that tested fine with placeholder data. This is the same mechanism as any too-dense code, amplified by 55% ink.
  • Print generous. Dots at 4 cm behave like squares at 2 cm. Use the size calculator for the viewing distance, then add margin.
  • Prefer SVG for print so the circles stay geometric instead of anti-aliased pixels.

Why the eyes stay solid

The three finder patterns are detected by their 1:1:3:1:1 dark-light ratio along scanlines, before error correction protects anything. Shattering them into dots breaks that continuous ratio, so dot-style codes conventionally keep solid eyes — UseQR defaults style=dot to eye=circle, a solid ring and ball that match the round language without fragmenting. See custom eye shapes for the variants and their risk order. Try the combination: a dot-style code with circle eyes.

Then verify at real size: the validator decodes the actual rendered artwork, which is the only way to know whether this payload, at this version, at this print size, keeps enough margin. Dot codes that pass at final size are dependable; dot codes assumed safe because a bigger test scanned are the classic "worked on screen, failed in print" story.

FAQ

Do dot-style QR codes actually scan?

Yes, reliably, when the code is low-density and printed at a generous size. Each dot keeps its cell's centre solidly dark, which is what decoders sample. The style fails when high version counts or small print shrink the dots toward printer and camera resolution.

Why do dotted QR codes keep square or solid corners?

The three corner patterns are how scanners find the code, using a continuous 1:1:3:1:1 dark-light ratio. Breaking them into dots fragments that ratio, so the eyes stay solid — usually as rings and circles that match the dot aesthetic.

What size should a dot QR code be printed?

Larger than the equivalent square code. As a rule of thumb, treat the usual minimums as starting points and add 50–100% — a close-range dot code is happier at 3–4 cm than at the 2 cm floor, and distance codes should follow the 10:1 rule with headroom.

Yes, but the two draw on the same robustness budget. Dots reduce ink margin and a logo consumes error correction, so keep the logo small, use error correction H, and decode the finished artwork before committing to print.

Try it — free, no signup