QR Code Capacity Calculator

Max characters per QR version and error level.

Technology and NetUpdated 2026-10-122 min read
QR Code Capacity Calculator
1 is 21 by 21 modules; each step adds 4 per side.
Numeric max
...
Alphanumeric max...
Byte max...

What it does

QR codes pack different amounts depending on version, error correction, and character mode. Digits compress best, the alphanumeric set costs more, and raw bytes cost most, so the same text can fit or fail on mode choice alone.

The tool above takes version 1 to 40 with error level L, M, Q, or H. It returns the three maxima side by side: digits, alphanumeric characters, and bytes.

The defaults show version 1 at level L: 41 digits, 25 alphanumeric, 17 bytes. At the far end, version 40 at level H holds 3,057 digits, 1,852 alphanumeric, or 1,273 bytes.

Capacities follow ISO/IEC 18004 as published by the QR inventor tables: modules grow 4 per side per version with Reed Solomon correction behind the levels. The standard lists the symbol; the inventor pages print the per version counts used here.

How to use

  1. Pick the QR version, or start at 1.
  2. Pick error correction for the setting.
  3. Read the mode matching your text.
  4. Count UTF-8 bytes, not letters, for byte mode.
  5. Raise the version when text overflows.
  6. Lower correction only when printing stays clean.

Formula

Modules = 21 + 4 x (version - 1). Capacity falls L > M > Q > H per ISO/IEC 18004 tables.
version
Size step 1 to 40; 21x21 up to 177x177 modules.
L/M/Q/H
About 7/15/25/30 percent damage recovery.
modes
Numeric digits, alphanumeric set, or 8-bit bytes.

Capacity is table lookup, not arithmetic: each version and level pair has fixed counts per mode in the standard. Byte mode counts 8-bit units, so multibyte characters spend several bytes each.

Worked example

Example: version 1, level L

Defaults: version 1, error correction L.

  1. Modules: 21 + 4 x 0 = 21 by 21.
  2. Numeric: 41 digits max.
  3. Alphanumeric: 25 characters max.
  4. Bytes: 17 max.
  5. Contrast: version 40-H gives 3057, 1852, 1273.
  6. Tool shows 41 digits, 25 characters, 17 bytes.

Reference table

Byte capacity by version
VersionLevel LLevel H
1 (21x21)177
10 (57x57)271119
20 (97x97)858382
40 (177x177)29531273

Limits

  • Table counts exclude quiet zone and printing.
  • Scanners and contrast decide real reads.
  • Kanji mode has its own separate counts.
  • Structured append splits change the math.

Common mistakes

  • Counting letters where bytes belong.
  • Picking H for clean indoor labels.
  • Forgetting version caps at 40.
  • Printing too small for the module count.
  • Skipping a scuff test on rough sites.

Try it yourself

Quick checks. Answers sit tucked under each question.

Version 40 at level H?

3,057 digits, 1,852 alphanumeric, 1,273 bytes.

Version 10 at level M?

513 digits, 311 alphanumeric, 213 bytes.

Text too long for the version?

Raise the version or drop correction one step.

Questions

How much fits in a QR code?

Version 1-L holds 17 bytes; version 40-L holds 2953 bytes.

Which mode holds most?

Numeric digits, then alphanumeric, then bytes.

What do L M Q H mean?

Roughly 7, 15, 25, 30 percent damage recovery, dearer levels hold less.

How big is version 40?

177 by 177 modules before quiet zone.

Do links fit easily?

Most URLs fit small versions; long tracking strings need bigger ones.

Why did my code fail to scan?

Size, contrast, damage, or exceeding capacity; check all four.

Sources

How this page was checked. The formula above was matched against the cited sources, and the worked example was run through the tool on this page before publishing. If you spot an error, contact us so we can fix it and note the correction.