Skip to main content Skip to search Skip to main navigation

Guide

QR codes on clothing: how well do they scan?

How far away a phone camera can still read the code on your hoodie or t-shirt depends on two things: the print size and the number of modules (the small squares). We measured this in a simulation with two scanners in October 2026. Here you will find the results, the reason behind them and tips on size, placement and contrast on fabric.

Updated 11 Nov 2026 · Measured on 25 Oct 2026

Key points

  • With 41 × 41 modules, the camera had to move 26 to 30% closer in our simulation than with 25 × 25.
  • Between 25 × 25 and 29 × 29 modules, the test showed no difference. From 33 × 33 on, the reading distance went down.
  • At the same error correction level, the number of modules depends on the length of the link. A short link needs fewer modules, so at the same print size each module is larger.

How we measured

We generated QR codes with the same short link and error correction level M in five sizes, from 25 × 25 to 41 × 41 modules. We shrank each code like a phone photo: slightly rotated, a little blurred, with image noise and JPEG compression. There were 40 attempts per size and image width.

Two independent, freely available scanners read the codes: zxing-cpp and zbar. We measured the width in the camera image from which at least 90% of attempts succeed. If a code needs fewer pixels, the camera can read it from further away at the same print size.

How much does the reading distance depend on the number of modules?

The more modules a code has, the more pixels the camera needs. Up to 29 × 29 the value stayed the same; after that it rose with every step.

Smallest width in the camera image for at least 90% recognition
Modules QR version zxing-cpp zbar Reading distance compared with 25 × 25
25 × 25 2 68 px 78 px 100%
29 × 29 3 68 px 78 px 100%
33 × 33 4 78 px 86 px 87 to 91%
37 × 37 5 84 px 98 px 80 to 81%
41 × 41 6 92 px 112 px 70 to 74%

Worked example: the camera reads a code with 25 × 25 modules from 2 metres. With 41 × 41 modules at the same print size, it only succeeds from about 1.4 to 1.5 metres.

QR code with 25 × 25 modules; it leads to bequ.store
25 × 25 modules
QR code with 41 × 41 modules at the same size, with much smaller modules; it leads to bequ.store
41 × 41 modules, same size
Recognition rate at the same width in the camera image (40 attempts per cell)
Modules Image width 76 px Image width 86 px
zxing-cpp zbar zxing-cpp zbar
25 × 25 100% 75% 100% 97.5%
29 × 29 100% 80% 100% 100%
33 × 33 87.5% 12.5% 100% 100%
37 × 37 2.5% 0% 95% 25%
41 × 41 0% 0% 5% 0%

At 76 pixels, zxing-cpp read the code with 25 × 25 modules in all 40 attempts. It failed to read the 41 × 41 code in every attempt.

A QR code grows in fixed steps called versions. Version 1 has 21 × 21 modules, and each further version adds four per side. Each version holds only a certain number of characters. If the link is longer, the code moves up to the next version.

If you always print the code at the same size, more modules share the same area. Each module gets smaller, and the camera needs more pixels to recognise it.

Example links with error correction M
Link Characters Modules Module width for a 20 cm wide code
bequ short link, e.g. qr.bequ.io/lena 23 25 × 25 8.0 mm
Instagram profile, e.g. www.instagram.com/yourname 34 29 × 29 6.9 mm
long music link (example with 54 characters) 54 33 × 33 6.1 mm

Characters including https://. Number of modules calculated according to the QR code standard with the free library segno.

That is why every bequ code runs through a short link. It consists of qr.bequ.io/ plus 3 to 7 characters that you choose. This gives your code 25 × 25 modules. You can change where the link points at any time in your account. The printed code stays the same.

Which error correction level suits clothing?

A QR code contains extra error-correction data so that it stays readable even with damaged areas. There are four levels: L, M, Q and H. Level M restores up to 15% of the data. According to Denso Wave, the company behind the QR code, it is the most frequently chosen level.

Higher levels make up for more damage but need more modules for the same link. Our short link with 7 characters would have 33 × 33 modules at level H instead of 25 × 25. That is why we print with M. For factories where codes get dirty, Denso Wave names levels Q or H.

Tips for QR codes on fabric

Print it large enough

A common rule of thumb gives a ratio of about 10 to 1 between scanning distance and code width (Bitly). By that rule, a 20 cm wide code works from around 2 metres. From 33 × 33 modules on, this distance goes down, as our test shows.

Choose a smooth area

Folds distort the code. For codes on bags, Denso Wave advises flattening the bag as much as possible before scanning. On clothing, a spot without seams, pockets and drawstrings works well, such as the back. When scanning, it helps to pull the fabric smooth for a moment.

Go for strong contrast

The scanner only tells light from dark. Denso Wave therefore recommends black on white. According to Denso Wave, a scanner cannot read a red code on a white background. On light fabrics we print the code in black, on dark fabrics in white.

Keep the margin clear

A QR code needs a clear margin four modules wide on all sides (Denso Wave). Graphics, lettering or seams do not belong in this margin.

What the test does not show

The measurement is a computer simulation. It does not reproduce fabric, folds, sheen or light; it only shows the effect of the number of modules. A test with printed garments and different phones is still to come.

QR code clothing from bequ

Every code with a link you choose yourself has 25 × 25 modules. On hoodies and t-shirts we can print your name or a short motto underneath.

View all products

Frequently asked questions about scanning

How big does a QR code on a t-shirt need to be?
It depends on the distance it is scanned from. A common rule of thumb is about 10 to 1: a 20 cm wide code works from around 2 metres. From 33 × 33 modules on, the distance goes down. With 41 × 41 modules, the camera in our test had to move 26 to 30% closer than with 25 × 25.
Does a QR code on a hoodie scan well?
Yes, if the code is large enough, sits on a smooth area and stands out clearly from the fabric. The number of modules matters too: the fewer there are, the larger each one is at the same print size. bequ codes with a link you choose have 25 × 25 modules.
Why does a QR code with a long link have more modules?
Each QR version holds only a certain number of characters. A longer link therefore needs a higher version, and each version has four more modules per side. An Instagram link with 34 characters already needs 29 × 29 modules at error correction M; our short link needs 25 × 25.
Which error correction level makes sense for clothing, M or H?
H makes up for more damage but needs more modules. Our short link with 7 characters would have 33 × 33 modules at H instead of 25 × 25. From 33 × 33 on, the camera in our test had to move closer. That is why we print with M. It restores up to 15% of the data.
Did bequ run the scan test with real garments?
No. It was a computer simulation with two scanners and 40 attempts per size and image width. It shows the effect of the number of modules, not that of fabric, folds and light.
Can I change where my QR code points later?
Yes. Your code runs through your short link at bequ. You can change where it points at any time in your account under “My QR codes”. The printed code stays the same.

Sources