Table of Contents
The answer depends on what you mean by possible. If you count every black/white module pattern on a QR grid, the number is 2^(number of modules), which is astronomically large for higher versions. If you only count valid, decodable QR codes under the standard, the space is still enormous but constrained by required patterns, encoding rules, masking, and error correction.
Learn how many QR codes are possible by version, module count, encoding mode, masks, and error correction—plus what “unique” means in practice.
You’ll see why the number of possible QR codes is astronomically large, and what “unique” really means. We’ll break it down by version, modules, encoding, masks, and error correction. The key is separating raw grid math from what ISO/IEC 18004:2024 considers a valid, scannable symbol.
TLDRThe total number of black/white QR-like grids grows as 2^(modules), so even a single large QR code version implies an enormous pattern space. Real QR codes are restricted by fixed structural elements, encoding modes, error correction, and mask patterns, so the number of valid and reliably scannable codes is smaller but still vast.
What does “how many QR codes are possible” actually mean?
People ask this question in two different ways, and the answer changes depending on which one you mean.
- Unique payloads (unique data): How many distinct messages can be encoded, such as different URLs, IDs, or text strings.
- Unique module patterns (unique appearance): How many different black/white layouts can exist on the grid, even if some represent the same data or are not decodable.
That is why you might see someone ask, how many different qr codes are possible, and get answers that sound incompatible. They might be counting different-looking symbols, or different underlying payloads.
A reader-friendly way to think about uniqueness is this framework:
- QR code version and module grid: Bigger grids have more places (each module) to put information.
- Encoding modes: The same message can take fewer or more bits depending on whether you use encoding modes (numeric, alphanumeric, byte/binary, kanji).
- Error correction: error correction levels (L, M, Q, H) add redundancy via Reed-Solomon error correction, trading data capacity for robustness.
- Mask pattern: A mask pattern changes the final black/white layout to improve readability, without changing the payload.
Even when a QR code is valid, “possible” in the real world also depends on practical scanning conditions like the quiet zone, print quality, and lighting.
What is the difference between the number of possible QR codes and the number of usable QR codes? Possible can mean any black/white grid pattern, but usable means the pattern follows QR formatting rules (including finder patterns and other required structures) and can be decoded reliably in real scanning conditions. Usable is always a subset of possible.
Valid QR symbols are not just random grids. They must include fixed structures such as finder patterns and alignment patterns, and they must follow placement rules for data and error correction codewords.
QR code versions and module grids: the size of the playing field

A QR code version defines the grid size. The QR code standard specifies 40 versions, from Version 1 (21×21 modules) up to Version 40 (177×177 modules). Each version increases the grid, so the number of modules grows fast because you are increasing both width and height.
This is also where questions like how many possible qr codes per module grid come from. The grid is the playing field, and each extra row and column multiplies the number of possible patterns.
Simple diagram: modules and grid size concept
Below is a simplified view of a QR grid. Each square is a module (black or white). Real QR codes also include required patterns (not shown accurately here).
Grid (example only)
+---+---+---+---+---+
| # | | # | | |
+---+---+---+---+---+
| | # | | # | |
+---+---+---+---+---+
| # | | # | | # |
+---+---+---+---+---+
Each cell = 1 module
Grid size (modules) = width × height
QR code versions and module sizes (reference points)
| QR code version | Module size (grid) |
|---|---|
| Version 1 | 21×21 modules |
| Version 40 | 177×177 modules |
Takeaway: Version determines how many modules exist on the grid, and that sets the ceiling for both pattern count and data capacity.
Why the theoretical number gets so big (binary modules)
If you pretend every module is free to be black or white, then each module is like a binary choice. With N modules, that creates 2^N possible black/white patterns.
That framing answers how many qr codes are possible in theory as a pure math question, and it is the reason people also ask how many qr code combinations are there total. The number explodes as version grows.
For a Version 40 (177×177 modules) grid, the raw pattern space would be:
- 2^(177×177) possible black/white grids (sometimes written as 2^31,329)
That is the scale behind the phrase how many qr code combinations version 40, even before you talk about data capacity.
But there is an important catch: not every black/white grid is a QR code. Real QR symbols must follow ISO/IEC 18004:2024 formatting rules, including reserved areas for finder patterns, alignment patterns, and other required elements. Many random grids will not decode to anything.
What is the theoretical maximum number of possible QR code combinations? If you treat a grid as N independent black/white modules, the upper bound is 2^N for that grid size. For real QR codes, the usable set is smaller because parts of the grid are fixed or constrained by the standard.
Encoding modes: numeric vs alphanumeric vs byte vs kanji
When you switch from counting patterns to counting distinct payloads, encoding rules matter. QR codes support multiple encoding modes, and they change how efficiently characters are stored:
- Numeric: Best when your content is digits only (IDs, ticket numbers).
- Alphanumeric: A limited character set (letters, digits, and a few symbols).
- Byte/binary: General text and arbitrary bytes (common for URLs and encoded data).
- Kanji: Optimized for Kanji characters.
The same grid and error correction level can hold different amounts of data depending on the mode. So the number of distinct payloads you can fit is tied to:
- Version (available space)
- Mode efficiency (how many bits each character consumes)
- Error correction level (how much space is reserved for redundancy)
One practical implication: two QR codes can use the same version and still differ in payload capacity, simply because one uses numeric mode and the other uses byte/binary mode.
Error correction levels (L, M, Q, H): capacity vs robustness trade-off
QR codes include Reed-Solomon error correction, which helps recovery when parts of the symbol are obscured or damaged. The standard defines four levels:
Error correction levels and recovery (standard values)
| Level | Recovery percentage |
|---|---|
L |
7% |
M |
15% |
Q |
25% |
H |
30% |
Takeaway: Higher error correction increases redundancy, which reduces how much payload data fits in the same QR code version.
This connects directly to how many qr codes possible with error correction. If you fix the version and encoding mode, a higher level generally means fewer distinct messages fit at maximum length, because there is less room for data codewords.
How does error correction level affect the number of possible combinations? Higher error correction reserves more of the symbol for redundancy, so fewer unique payloads fit within a given version and mode. The number of different-looking symbols is still huge, but the maximum payload space shrinks as you move from L to H.
Mask patterns: eight ways to render the same data

Masking exists to make QR codes easier to scan. Some raw data layouts create problematic patterns (like large blocks or repeated stripes). A mask pattern flips modules according to a rule, producing a layout that scanners can read more reliably.
The QR standard includes eight mask patterns. Masking changes the module layout, but it does not change the underlying payload.
This is a big source of confusion about uniqueness:
- Same data, same version, same error correction level can be rendered with different mask patterns.
- Those codes can look different, yet decode to the same content.
What role do mask patterns play in determining QR code uniqueness? Mask patterns can create multiple valid visual representations of the same payload. They increase the number of different-looking QR codes you can print for identical data, but they do not increase the number of distinct payloads.
Illustration: same payload, different appearance (hypothetical example)
These mini-grids are not real QR codes. They only illustrate the idea that a mask can flip modules and change the look while keeping the decoded result the same.
Hypothetical pattern A Hypothetical pattern B
# # . . # # . # . #
. # . # . . . . # .
# . # . # # # # . #
. # . # . . . . # .
# . . # # # . . . #
How much data can a QR code hold (Version 40 reference point)
Capacity is version- and error-correction-dependent. As a reference point, a Version 40 QR code at error correction level L can hold up to:
Version 40 maximum capacities at error correction level L
| Data type | Maximum capacity (Version 40, L) |
|---|---|
| Numeric | 7,089 characters |
| Alphanumeric | 4,296 characters |
| Byte/binary | 2,953 bytes |
Takeaway: Payload capacity is large, but it varies by encoding mode and error correction level, so “how many unique messages” depends on which kind of message you mean.
Two practical notes when you translate capacity into “how many different QR codes”:
- If you are encoding arbitrary byte/binary data, the number of possible payloads grows exponentially with the number of bytes available.
- If you are encoding human text, the number of meaningful messages is smaller than the number of byte combinations, because many byte sequences are not valid or useful text.
What is the largest QR code version, and how much data can it hold? The largest standard QR code version is Version 40 (177×177 modules). At level L, it can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes, depending on the encoding mode.
Can we ever run out of QR codes?
This is usually asked as can we ever run out of qr codes, and the practical answer is no in any real sense.
Two reasons:
- The combinatorial space is enormous once you consider versions, modes, error correction, and mask patterns.
- There is no global registry of which QR codes are “taken.” QR codes are not issued like license plates. The same payload can be encoded by anyone, and the same QR pattern can be printed by anyone.
So “running out” is not like exhausting a shared pool. What can happen in practice is more ordinary:
- A company reuses the same URL or identifier too often.
- A printed code points to a destination that later changes or stops working.
Can we ever run out of QR codes? No, because QR codes are not centrally allocated and there is no global list of used codes. In practice, the bigger risk is reusing the same payloads, or having destinations change, not exhausting combinations.
Static vs dynamic QR codes: does “dynamic” change how many are possible?
People often mix up “unique code” with “unique destination.”
- Static QR code: The embedded data is fixed in the symbol. If it encodes a URL, that exact URL is in the QR code.
- Dynamic QR code: The symbol typically encodes a short URL or identifier that redirects to the final destination, which can be changed later.
This ties to static vs dynamic qr code uniqueness. A dynamic setup can make one printed symbol point to different destinations over time, but that does not create extra capacity in the QR standard itself. It changes what your system does after the scan.
Do dynamic QR codes increase the total number of possible unique codes? Dynamic QR codes do not expand the QR standard’s combinatorial limits. They usually encode a redirect value, so the symbol can stay the same while the destination changes.
This varies by tool. Some dynamic QR code providers can disable redirects after a subscription expires, which can break previously printed codes even though the QR code image itself never changed.
Variants and extensions that affect capacity: Micro QR, rMQR, SQRC, Structured Append
Not all QR-like symbols are the same size or even the same shape.
Micro QR (M1–M4)
Micro QR (M1–M4) is designed for smaller symbols. Micro QR codes range from 11×11 to 17×17 modules and have lower capacity. The maximum numeric capacity noted for Micro QR is 35 numeric characters.
That difference is why people ask micro qr code possible combinations compared to standard QR. Smaller grids mean fewer modules, which means fewer possible patterns and less payload space.
Rectangular Micro QR Code (rMQR)
Rectangular Micro QR Code (rMQR) is a separate variant category with a rectangular layout. The main takeaway is that shape and format rules differ from square QR, and capacity behavior depends on the specific rMQR size and settings.
SQRC
SQRC is a QR-related format that supports both public data and an encrypted private segment at a high level. For “how many possible” questions, SQRC mainly changes what kinds of payloads you can store and who can read them, not the basic idea that version, mode, and error correction shape capacity.
Structured Append
Structured Append allows splitting a larger payload across multiple linked QR codes, up to 16 symbols. This addresses cases where your payload does not fit into one symbol at your chosen version and error correction level.
That is the practical meaning behind structured append qr code limit 16.
Hypothetical example: A long message is split into several parts, encoded as a sequence of QR codes, and reconstructed by software that supports Structured Append.
Practical scanning constraints that limit what’s usable

Even a valid QR code under the standard can fail in real conditions. When someone asks how many QR codes are possible, it helps to remember that “possible” does not mean “scannable anywhere.”
Key constraints:
- Quiet zone: QR codes need a clear margin (quiet zone) around the symbol so the scanner can detect the boundary.
- Size: The printed or displayed size must match your scanning distance and camera quality. Smaller codes generally require closer scans and better focus.
- Contrast: Dark-on-light tends to scan more reliably than low-contrast color combinations.
- Damage and distortion: Smearing, glare, wrinkling, low resolution, or curved surfaces can prevent decoding, even with error correction.
- Lighting and motion: Low light, reflections, or motion blur can reduce scan success.
Callout graphic: quiet zone concept (not to scale)
[ Quiet zone ]
████████████████████
████ QR code area ████
████████████████████
[ Quiet zone ]
Quick checks (practical)
- Include a quiet zone around the code
- Use dark-on-light high-contrast colors
- Test scan from the intended distance and lighting
- Avoid resizing that causes blurriness or low resolution
Simple test process (one pass, before printing)
- Place the QR code in its real design (poster, label, screen) with the intended quiet zone.
- Check contrast under the lighting where it will be scanned.
- Scan with more than one device type if possible (camera behavior varies).
- Scan at the nearest and farthest expected distances.
- Inspect for blur, glare, or distortion, then adjust size or placement and retest.
Is there a practical vs. theoretical difference in how many QR codes are possible? Yes. Theoretical counts treat modules as pure math, while practical usability depends on format rules and scanning conditions like quiet zone, contrast, size, and lighting. The practical set is always smaller than the theoretical set.
FAQ
What is the difference between the number of possible QR codes and the number of usable QR codes? Possible can mean any black/white pattern on a grid, while usable QR codes must follow ISO/IEC 18004:2024 rules and decode reliably. Required structural elements and real-world scanning conditions reduce the usable set.
Usable also depends on details that are easy to miss, like leaving a quiet zone and avoiding blur in printing or resizing.
How does error correction level affect the number of possible combinations? Higher error correction levels (L, M, Q, H) allocate more space to Reed-Solomon redundancy, leaving less room for payload data. That reduces the maximum size of distinct messages you can encode for a given version and mode.
If you are counting different-looking symbols, error correction still changes the layout because the codewords differ.
What role do mask patterns play in determining QR code uniqueness? The eight mask patterns can produce different module layouts for the same payload to improve scan reliability. They can create multiple distinct-looking QR codes that decode to the same content.
Masking changes appearance, not meaning, so it does not increase the number of distinct payloads.
Do dynamic QR codes increase the total number of possible unique codes? Dynamic behavior is usually a redirect design choice, not a change to the QR standard’s capacity. The QR code still contains a specific payload (often a short URL or identifier).
This varies by tool. Some setups can stop working if redirects are disabled after a subscription expires, which affects reliability but not the number of combinations.
What is the largest QR code version, and how much data can it hold? Version 40 is the largest standard QR code version, with a 177×177 module grid. At error correction level L, it can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes.
Smaller versions hold less, and higher error correction levels reduce capacity further.
Ready to Create Your Own QR Code?
Join thousands of users creating beautiful QR codes.
Try QRplify FreeNo credit card required