Maximum QR code size: version 40, 2,953 bytes, and how big to print it
The largest QR code is version 40: 177 × 177 modules holding up to 2,953 bytes at error correction L. There is no largest printed size, but the version decides how large a code must be printed to scan.
The hard limits
QR Code runs from version 1 (21 × 21 modules) to version 40 (177 × 177), four modules more per side at each step (DENSO WAVE). DENSO WAVE’s outline of the specification gives the maximum for version 40 at the lowest error correction level, L:
| Kind of data | Maximum in one code |
|---|---|
| Numbers only | 7,089 characters |
| Alphanumeric (A–Z, 0–9 and a few symbols) | 4,296 characters |
| 8-bit bytes (binary) | 2,953 bytes |
| Kanji | 1,817 characters |
QR Meadow writes every code in byte mode with UTF-8 text, so its ceiling is the 2,953-byte row. In UTF-8 a letter such as é takes 2 bytes and most Chinese or Japanese characters take 3, so a version 40 code holds at most 2,953 ÷ 3 = 984 of those.
Capacity by version and error correction
Higher error correction spends modules on repair data. Bytes per code, from the encoder’s tables:
| Version | Modules | L | M | Q | H |
|---|---|---|---|---|---|
| 1 | 21 | 17 | 14 | 11 | 7 |
| 5 | 37 | 106 | 84 | 60 | 44 |
| 10 | 57 | 271 | 213 | 151 | 119 |
| 20 | 97 | 858 | 666 | 482 | 382 |
| 30 | 137 | 1,732 | 1,370 | 982 | 742 |
| 40 | 177 | 2,953 | 2,331 | 1,663 | 1,273 |
The generator counts bytes as you type and picks the version. Filled to the limit at level L, it reports version 40:

How large it must be printed
Bitly notes there is no upper limit on printed size. What grows with the version is the size a code needs. With the size guide’s rules, the larger of a tenth of the scanning distance (Bitly) and 1/250 of the distance per module (worked out from QRStuff’s 2011 table, which assumes a 3–4 megapixel camera, so a conservative figure), never under 2 cm:
| Scanning distance | Version 2 (25 modules) | Version 10 (57) | Version 40 (177) |
|---|---|---|---|
| 30 cm | 3.0 cm | 6.8 cm | 21.2 cm |
| 1 m | 10 cm | 22.8 cm | 70.8 cm |
| 3 m | 30 cm | 68.4 cm | 2.12 m |
Width without the quiet zone. Version 40 at 30 cm: 177 × 300 ÷ 250 = 212 mm.

What real phones read
With an iPhone and an Android phone, each with its built-in camera app, scanning a computer screen from about 20 cm, version 20 (97 modules) and version 40 (177 modules) codes were read by both phones at 50 mm and at 80 mm wide. At 50 mm a version 40 module is about 0.28 mm (50 ÷ 177).
Phone test: full-capacity codes, error correction M for version 20 and L for version 40. One session, one distance, codes shown on a screen rather than printed; details.
How large versions fared in a decoder test
| Code | 2.5 px/module | 3.5 | 4.5 | 6.5 | 8.5 | Pixel-aligned, 1–3 px |
|---|---|---|---|---|---|---|
| Version 10, level M | 10 of 10 | 10 | 10 | 10 | 10 | all decoded |
| Version 20, level M | 7 | 9 | 10 | 9 | 10 | all decoded |
| Version 40, level L | 3 | 4 | 9 | 0 | 10 | all decoded |
Test: full-capacity codes, averaged down to each resolution at 10 random sub-pixel offsets; “pixel-aligned” = every module exactly 1, 2 or 3 pixels. Decoder jsQR 1.4.0 on synthetic images, not phone photos; how the tests work.
Version 40 decoded in every pixel-aligned image, even at 1 pixel per module, but in resampled images it went from 9 of 10 at 4.5 pixels per module to 0 of 10 at 6.5 and back to 10 of 10 at 8.5. A pattern that does not improve steadily with resolution points to how this decoder handles very large grids rather than to a resolution floor, and the phones above read the same code without trouble. The margin still matters for readers built on simpler decoders, such as web-based scanners: versions up to 10 behaved the same at every scale tried, and version 40 did not.
What a separate camera-model test adds
| Rebuilt sample | Apple Vision | ZXing-C++ |
|---|---|---|
| D1: version 20, 50 mm | 29/36 | 30/36 |
| D2: version 20, 80 mm | 36/36 | 35/36 |
| D3: version 40, 50 mm | 8/36 | 18/36 |
| D4: version 40, 80 mm | 19/36 | 27/36 |
The 50 mm version 40 sample (D3) gave different results in the two engines. More capable software does not make a dense code insensitive to blur, sampling and perspective. These counts combine all model distances and stress settings; they are not scan-distance limits or phone results.
Separate synthetic-image study, QM-LAB-20261028, not a phone or physical-print test. Distances are projections under assumed camera settings, not measured scan ranges. Method, limits and downloadable results.
When the content is too big
- Link to it. Put the content on a web page and encode the address; a short link is version 2 or 3.
- Trim it. Drop fields nobody needs, such as a vCard note or tracking parameters.
- Lower error correction only for clean, flat, indoor use: at version 40, L holds 27 % more than M (2,953 against 2,331 bytes).
- Split it. The specification allows up to 16 symbols to be read as one (“structured append”, DENSO WAVE). QR Meadow does not make them; check your readers support them.
Questions
How many characters can a QR code hold?
Up to 2,953 bytes of text at level L: 2,953 plain English characters, fewer accented letters (2 bytes each) and about 984 Chinese or Japanese characters (3 bytes each). Digits alone go up to 7,089.
Can I make a version 40 code here?
Yes. The text generator switches version automatically and shows the byte count; choose level L under Error correction for the most room.
Sources
- DENSO WAVE, “Information capacity and versions of QR Code”
- DENSO WAVE, “QR Code Standardization” (outline specification and capacities)
- Bitly, “What’s the Minimum Size for a QR Code?”
- QRStuff, “QR Code Minimum Size” (module size table)
- jsQR, the decoder used in the tests (GitHub)
Tools used in this guide
More guides
- Smallest QR code size: printer, decoder and phone limitsHow small can a QR code be? 2 cm for phones, 8.4 mm at 400 dpi, Micro QR and rMQR for tiny spaces, and a decoder test of how few pixels per module work.
- Maximum QR code size: version 40, 2,953 bytes, and how big to print itThe largest QR code is version 40: 177 × 177 modules, 2,953 bytes at level L. Capacity by level, print sizes, and how large versions fared in a decoder test.
- The QR code quiet zone: why four modules, and what happens with lessQR codes need a 4-module quiet zone. What that is in millimetres, where designs lose it, and phone and decoder tests of 0 to 4 modules on busy backgrounds.
- QR code sticker size: square, round and pre-cut labelsHow big a QR code sticker should be: code width and scan range for 1 to 4 inch square and round stickers, and how to fit codes on pre-cut labels.
- QR code size on a business card: what fits, what scansA QR code on a business card: the rules of thumb, card safe zones, and a phone test where a full vCard read at 10 mm from 20 cm.
- QR code size in pixels: exports, screens and the scaling trapHow many pixels a QR code needs: a 1024 px PNG gives a short link 31 px per module. Print resolution maths, screens, and why scaling by odd factors hurts.
- How to print QR code stickers and labels in bulkTurn a CSV into up to 500 labelled QR code stickers: styles that still scan, a label sheet or pre-cut labels, and print settings that keep the size right.
- Do QR codes expire? Static vs dynamic codes, and what the providers’ own rules sayStatic QR codes never expire; dynamic ones can stop. What five providers say happens at trial end, downgrade, cancellation or expiry, and how to choose.