QR Code Basics

How Much Data Can a QR Code Store? Capacity Explained

Chart comparing QR code data capacity limits for numeric, alphanumeric, and binary content

The spec-sheet answer is exact: 7,089 numeric digits, 4,296 alphanumeric characters, or 2,953 bytes of binary data. The useful answer is much smaller. QR code data capacity is a budget set by three factors — the kind of characters you encode, which of the 40 grid sizes the generator selects, and how much space is reserved for error correction — and maxing out that budget produces a dense gray mush that cameras struggle to read.

This explainer covers both numbers: the official limits from the QR standard, and the practical ceiling you should actually design against. By the end you’ll know why a 60-character URL makes a crisp, fast-scanning code while an 800-character contact card fights for its life on a business card.

Maximum QR Code Data Capacity by Type

The QR specification (ISO/IEC 18004) defines four encoding modes, and each holds a different amount because each packs characters into bits differently:

Encoding modeWhat it coversMaximum capacity
NumericDigits 0–9 only7,089 digits
Alphanumeric0–9, uppercase A–Z, space, $ % * + - . / :4,296 characters
ByteAny 8-bit data — lowercase text, symbols, UTF-82,953 bytes
KanjiShift JIS double-byte characters1,817 characters

Numeric mode is the densest because three digits squeeze into just 10 bits. That’s why a QR code holding nothing but numbers stores nearly two and a half times more characters than one holding a sentence.

There’s a trap in the alphanumeric row: it covers only a 45-character set, and lowercase letters aren’t in it. One lowercase “a” pushes a whole segment into byte mode. Since real-world URLs contain lowercase paths, almost every code you’ll ever make is byte mode — so the working QR code character limit is closer to 2,953 than 4,296.

All of these maximums also assume the largest possible grid at the lowest error correction. Everyday codes come nowhere near them, and shouldn’t.

What Affects QR Code Data Capacity

Three levers control capacity, and your generator moves most of them for you.

Version — the grid size. QR codes come in 40 versions. Version 1 is a 21×21 module grid; each version adds 4 modules per side, up to Version 40 at 177×177 — a grid of 31,329 tiny squares. The generator automatically picks the smallest version that fits your content. Here’s how QR code storage capacity grows with the grid (at the lowest error correction level):

VersionGrid sizeNumericAlphanumericByte
121×21412517
1057×57652395271
40177×1777,0894,2962,953

Error correction level. Every code reserves part of its capacity for redundancy so it survives smudges and logos. The four levels — L, M, Q, H — set aside roughly 7%, 15%, 25%, and 30% respectively. At level H, that headline 7,089-digit maximum drops to 3,057 digits, and byte capacity falls to 1,273. How that redundancy actually rebuilds damaged codes is covered in our guide to QR code error correction — for capacity purposes, just know that stronger correction means less room for your data.

Encoding mode. As covered above, the content itself decides the mode. Digits are cheap, uppercase is mid-priced, and mixed text costs the most per character.

The grid these modules live in — finder squares, timing lines, data area — is the same anatomy described in our guide to what a QR code is.

Data Capacity vs Physical Size

A common mix-up: printing a QR code bigger does not let it hold more. Capacity is fixed by the version; print size only changes how large each module appears on paper.

The relationship actually runs the other way, and it’s the one that bites. Add more data and the code needs more modules — but if your print space is fixed, those extra modules just get smaller. A Version 4 code (33×33) printed at 2×2 cm gives each module about 0.6 mm, which phones read comfortably. Cram in enough data to force Version 40 and each module at that same 2 cm shrinks to about 0.11 mm — far below what a phone camera can resolve at arm’s length.

Key takeaway: More data makes a code denser, not bigger. On a fixed print size, your real capacity limit is how small a module the camera can still see — around 0.4 mm is the safe floor for print.

In practice, that physics caps the maximum data a printed QR code should carry at roughly 300 characters, and under 100 for small placements like labels and business cards. The exact size-to-distance math lives in our QR code size guide.

Practical Capacity for Common Use Cases

Here’s how much data a QR code actually carries for typical jobs, and the grid each one produces at medium error correction:

Content typeTypical sizeResulting grid (approx.)
Shortened URL20–30 charactersVersion 2–3 (25–29 modules wide)
Full URL60–80 charactersVersion 4–5
WiFi credentials60–100 charactersVersion 4–6
vCard contact300–600 bytesVersion 12–19
Plain text note~500 charactersVersion 16–17

The pattern is clear: link-based codes stay small and forgiving, which is one reason the URL QR code is the most reliable type in the wild.

vCards are the usual density offender. A full contact card with a street address, two phone numbers, a company, and a note easily passes 500 bytes, producing a Version 15+ grid that looks like television static at business-card size. Trimming it to name, one phone number, email, and website often cuts the code by half its modules.

Tips for Optimizing the Data in Your QR Code

Shorter content makes a sparser grid, and a sparser grid scans faster, from farther away, on worse cameras. Five ways to get there:

  1. Encode a link, not the content. Don’t embed a menu, flyer text, or PDF contents in the code. Host it online and encode the URL — 25 characters instead of 2,000. This is the single biggest capacity win available.
  2. Shorten your URLs. Strip tracking parameters you don’t need, drop unnecessary subfolders, or run long links through a shortener. Cutting an 80-character URL to 25 can drop the code two full versions.
  3. Slim down vCards. Every field you delete visibly relaxes the pattern. Keep the four fields people actually use.
  4. Match error correction to the environment. Level M is the sensible default. Reserve level H for codes with a logo or rough handling — it costs about a quarter of your capacity compared to L.
  5. Test at final size. Print a sample and scan it with a mid-range phone from a realistic distance before committing to a print run.

QRocket applies the smallest grid that fits your content automatically, so every character you trim translates directly into a cleaner code.

Create data-efficient QR codes with QRocket — free and fastCreate Your Free QR Code →

The Best QR Code Is a Nearly Empty One

The 7,089-digit maximum is trivia; the 300-character practical ceiling is the working rule. Codes that scan instantly from across a table are almost always Version 3 to 5 — using under 3% of what the format allows. Treat capacity like a luggage weight limit: the further under it you stay, the smoother everything goes. Paste your content into QRocket’s free generator and watch the live preview — if the pattern looks like static, shorten the content until it relaxes.

Frequently Asked Questions

What is the maximum data a QR code can store?

A QR code can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data. Those maximums require the largest grid (Version 40, 177×177 modules) at the lowest error correction level — far denser than anything that scans reliably in print.

Why does my QR code look so dense?

More data requires more modules, creating a denser pattern. Long URLs with tracking parameters and overloaded vCards are the usual causes. Shorten the content, remove optional fields, or use a lower error correction level, and the grid visibly relaxes.

How many characters can a QR code hold for a URL?

Technically up to 2,953 bytes, since URLs encode in byte mode. Practically, keep URLs under about 100 characters: the resulting Version 4–6 code stays crisp at small print sizes and scans quickly even on older cameras.

Does error correction reduce how much data fits?

Yes. Error correction reserves capacity for redundancy — roughly 7% at level L up to 30% at level H. Moving from L to H cuts usable capacity by more than half at any given grid size, which is why level M is the standard middle ground.

Ready to make yours?

Create a free QR code with custom colors, your logo and print-ready downloads — no sign-up.

Create a free QR code →