brickcodes.com

What size LEGO baseplate does a QR code need?

One 32×32 baseplate. That is the short answer, and it is not an arbitrary choice — it is the smallest standard plate that holds a useful QR code at one stud per module, with room for the quiet zone that makes it scannable.

Check if your code fits

One stud per module

A QR code is a square grid of modules. The cleanest way to build one in LEGO is to map each module to exactly one stud — no scaling, no rounding, no half-covered squares. That keeps the geometry perfect, so a phone reads it as readily as a printed code.

It also means the baseplate sets a hard ceiling. 32 studs across is 32 modules across, and the symbol has to fit inside that with its border intact.

Which QR versions fit

QR symbols come in fixed sizes, and they step up in jumps of four modules:

Version 1 — 21×21. The smallest standard symbol. Plenty of room to spare, and the easiest to scan because each module is a full stud with a generous border.
Version 2 — 25×25. Comfortable. Suits a short link or a Wi-Fi network name and password.
Version 3 — 29×29. The largest that fits. Leaves just enough margin around the symbol for the quiet zone.
Version 4 — 33×33. Does not fit. There is nothing between 29 and 33, so a payload that outgrows version 3 jumps straight past the baseplate.

The quiet zone is not optional

Scanners need a clear margin around a QR code to find its edges. On a 32×32 build that margin is made of the surrounding baseplate studs left bare, which is why brickcodes centres the symbol rather than pushing it into a corner. Leaving the border empty is what lets a finished build scan at arm's length — and it is the reason version 3 is the practical limit rather than a hypothetical 31×31.

What happens if your code is too big

brickcodes tells you immediately, with the grid size it would have needed. The fix is almost always to shorten what you are encoding — a URL shortener turns a long link into a version 1 or 2 symbol, and a shorter symbol is easier to scan and cheaper to build.

There is one subtlety worth knowing: error correction affects size too. brickcodes re-encodes your payload at several levels and keeps the most robust one that still fits 32×32, so a borderline code may fit at a lower level even when it will not at a higher one. You get the sturdiest version that fits, automatically.

Can a code span multiple baseplates?

Not in brickcodes. Splitting a symbol across plates introduces seams and alignment error exactly where scanners are least forgiving, so each build targets a single 32×32 plate. Shortening the payload is both the more reliable and the cheaper answer.

Keep reading