A small clinic wants to put its full list of services, timings, doctor names, and address into one QR code for the reception desk. The code comes out looking like grey static. Half the patients' phones can't read it.
The clinic didn't do anything wrong, exactly. It just asked one small square to hold too much.
Understanding QR code data size helps you avoid this. In this guide, you'll learn how much a QR code can store, why more data makes scanning harder, and how to keep your codes light and reliable.
How Much Data Can a QR Code Hold?
A single QR code can hold up to 7,089 numeric digits, 4,296 alphanumeric characters, or 2,953 bytes of binary data, which is roughly 2,953 plain English characters. These are the maximum limits for the largest QR code size with the lowest error correction. In real life, codes work much better with far less data.

What Decides QR Code Data Size?
Three things decide how much data a code can hold and how it looks: the version, the type of characters, and the error correction level.
QR code versions
QR codes come in 40 versions. Version 1 is the smallest, a grid of 21 by 21 tiny squares called modules. Each new version is 4 modules wider and 4 modules taller than the one before, up to version 40, which is 177 by 177 modules.
You don't pick the version yourself on most generators. It's chosen automatically. Add more data, and the generator moves to a bigger version with more, smaller squares.
Type of characters
QR codes store data in different modes, and some are more efficient than others.
Data mode | What it includes | Maximum capacity |
Numeric | Digits 0 to 9 only | 7,089 characters |
Alphanumeric | Digits, uppercase A to Z, space, and a few symbols | 4,296 characters |
Byte | Lowercase letters, most symbols, other languages | 2,953 bytes |
Kanji | Japanese characters | 1,817 characters |
Worth knowing: most website links use lowercase letters, so they're stored in byte mode, the less efficient one. And characters from Hindi, Arabic, or emoji take more than one byte each, so they fill space faster.
Error correction level
Error correction lets a QR code still scan when part of it is dirty, scratched, or covered by a logo. There are four levels.
Level | Data that can be recovered | Good for |
L (Low) | About 7% | Clean digital screens |
M (Medium) | About 15% | Most everyday uses |
Q (Quartile) | About 25% | Print that may get worn |
H (High) | About 30% | Codes with logos or rough conditions |
Here's the trade-off. Higher error correction adds backup data, so the code holds less of your own information. At the largest size with level H, byte capacity drops to about 1,273 bytes, less than half of level L.
Why More Data Makes a QR Code Harder to Scan
The physical size of a printed code doesn't change when you add data. What changes is the number of squares packed inside it.
So picture the same 3 cm code on a business card. With a short link, it might have a simple 25 by 25 grid with chunky squares. Stuff it with a long paragraph, and the same 3 cm now holds a grid of 80 by 80 tiny squares or more. The phone camera has to see each one clearly. In dim light, on a shaky hand, or with an older phone, it fails.
That's why the practical limit is much lower than the technical one.
How Much Data Should You Put in a QR Code?
For reliable scanning on everyday print, try to keep your content under about 300 characters. For small codes like labels or business cards, shorter is better.
A rough guide:
Content | Typical length | Scanning comfort |
Short website link | 20 to 40 characters | Very easy |
WiFi details | 30 to 60 characters | Easy |
Basic vCard contact | 100 to 250 characters | Good |
Long link with tracking tags | 150 to 300 characters | Needs a bigger code |
Full paragraph of text | 500+ characters | Often unreliable when small |
Can a QR Code Store a PDF, Image, or Video?
Not directly. Even a tiny image is usually far larger than 3 KB, the absolute maximum a QR code can hold. So QR codes that "open a PDF" or "play a video" actually contain a link to a file stored online.
That's actually a good thing. Your code stays small, and you can replace the file behind the link without touching the code.
Simple Ways to Reduce QR Code Data Size
Use a short, clean link. Remove unnecessary tracking tags, or point to a simple page like yourbrand.com/menu instead of a long product URL.
Put details on a web page, not in the code. The clinic from the start should link to one mobile page listing services and timings, not pack everything into text.
Keep vCards lean. Name, phone, email, company, and website are usually enough. Skip long addresses and notes.
Pick the right error correction. Use M for most things, and H only if you're adding a logo or the label will face dust and scratches.
And if you're printing inventory labels, a short item ID works better than full product details. Our QR code inventory management guide shows how.
On GenerateQRCod, you can watch the live preview while typing. If the squares start looking tiny and crowded, that's your sign to shorten the content.
Final Thoughts
QR code data size is a simple idea once you see it: more data means smaller squares, and smaller squares mean harder scans. The QR code was designed by Denso Wave to hold a lot, but the best codes hold just enough. Keep content short, link to details online, and test before printing. Create a clean, easy-to-scan QR code on GenerateQRCod, and see our QR code best practices for more tips.
