QR Code Capacity: What Can It Store?
The calculator for this page is switched off while it is checked. The formula is below, and the worked example in the article shows how to use it by hand.
A QR code can store up to 7,089 numeric characters, 4,296 alphanumeric characters, or 2,953 bytes of binary data, depending on the version and error correction level. In practical terms, that’s roughly enough for a 1–2 page text document, a vCard contact, a Wi‑Fi password, or a short URL.
Formula
The maximum alphanumeric capacity of a QR code is approximated by:
Capacity ≈ (Version × 25 + 10) × 0.6 / ErrorCorrectionFactor
- Version – QR version (1 to 40). Higher versions have more modules (squares) and thus more data capacity.
- ErrorCorrectionFactor – 1 for L (7% recovery), 2 for M (15%), 3 for Q (25%), 4 for H (30%).
- The result is the approximate number of alphanumeric characters (A–Z, 0–9, and a few symbols) that can be stored.
This formula is a simplification; the exact capacity depends on the character set and the specific QR standard. For numeric-only data, capacity is about 20% higher; for binary data, it is about 30% lower.
Worked Example
Using the default values from the calculator:
- Version = 10
- Error correction = M (factor = 2)
Capacity ≈ (10 × 25 + 10) × 0.6 / 2 = (250 + 10) × 0.6 / 2 = 260 × 0.6 / 2 = 156 / 2 = 78 characters.
So a Version 10 QR code with M error correction can hold roughly 78 alphanumeric characters. That’s enough for a short URL or a compact text message.
How QR Codes Store Data
A QR code is a two‑dimensional barcode made of black and white squares arranged in a grid. The data is encoded in the pattern of those squares, along with error correction bits that allow the code to be read even if part of it is damaged or obscured.
The storage capacity depends on three main factors:
- Version – From 1 (21×21 modules) to 40 (177×177 modules). Each step adds more modules and more data capacity.
- Error correction level – L (7%), M (15%), Q (25%), H (30%). Higher levels require more redundant data, leaving less room for actual content.
- Character set – Numeric (0–9), alphanumeric (A–Z, 0–9, and $%*+-./:), byte/binary (e.g., UTF‑8 text), or Kanji (Japanese characters). Numeric is the most compact; binary is the least.
How Much Can Each Type Hold?
The maximum capacities for a Version 40 QR code at the lowest error correction (L) are:
- Numeric only – 7,089 characters (e.g., a long sequence of digits).
- Alphanumeric – 4,296 characters (e.g., uppercase letters and numbers).
- Byte/binary – 2,953 bytes (e.g., UTF‑8 text, which uses 1–4 bytes per character depending on the language).
- Kanji – 1,817 characters (Japanese characters, each encoded in 13 bits).
At the highest error correction (H), those numbers drop to about 3,073 numeric, 1,852 alphanumeric, and 1,273 bytes. Most real‑world QR codes use a small version (1–5) because they only need to store a URL or a short text.
What Can You Actually Put in a QR Code?
QR codes are not limited to URLs. They can store any text that fits within the capacity. Common uses include:
- Plain text – a message, a note, or a snippet of information.
- URLs – web addresses, often shortened to fit.
- Contact information (vCard) – name, phone, email, address, and more.
- Wi‑Fi credentials – SSID, password, and encryption type.
- Email addresses – with a subject and body.
- Phone numbers – for quick dialing.
- Geolocation – latitude and longitude.
- Payment information – though this often requires a specific format and may be limited by the payment provider.
It’s important to note that QR codes do not store images or videos directly. They store text, which can include a URL that points to an image or video hosted online.
How to Choose the Right Size and Error Correction
When generating a QR code, you usually choose the version and error correction level. Here’s how to decide:
- Start with the content – Write the text you want to encode. If it’s a URL, consider using a shortener to reduce the length.
- Pick an error correction level – For most uses, M (15%) is a good balance. If the code will be printed on a curved surface or may get scratched, use Q or H.
- Choose the version – Most generators automatically pick the smallest version that fits your data. You don’t usually need to choose manually.
- Test with a scanner – Always test the QR code with a phone camera before printing or sharing it.
Remember: a larger version means more modules, which means the code must be printed larger or scanned from closer to be readable. A small QR code with a lot of data may become unreadable if printed too small.
Common Problems and Misconceptions
- “QR codes can store videos� – No, they store text. A video can be linked via a URL, but the video itself is not embedded.
- “QR codes are only for URLs� – They can store any text, but many scanners only act on specific formats (like URLs or vCards).
- “Bigger QR code = more data� – Not necessarily. The version determines capacity, but the physical size also affects scannability. A Version 40 code printed at 1 cm² would be impossible to scan.
- “QR codes expire� – The code itself never expires, but if it contains a URL that points to a dead page, the link may break.
- “QR codes are secure� – They are just a medium. The content could be malicious (e.g., a phishing URL). Always scan with caution.
Frequently Asked Questions
Can a QR code store an image?
No, a QR code cannot store an image directly. It can only store text, which can include a URL that points to an image hosted online. The image itself is not embedded in the code.
How much data can a QR code hold in bytes?
The maximum for a Version 40 QR code at error correction L is 2,953 bytes. That’s about 2.9 KB. At the highest error correction (H), it drops to 1,273 bytes.
What is the difference between a QR code and a barcode?
A traditional barcode stores data in one dimension (horizontally) and can hold only about 20–25 characters. A QR code stores data in two dimensions (both horizontal and vertical), allowing it to hold hundreds of times more data.
Can a QR code be scanned if part of it is damaged?
Yes, thanks to error correction. Depending on the level (L, M, Q, H), a QR code can be read even if up to 30% of its modules are damaged or obscured. The higher the error correction, the more damage it can tolerate, but the less data it can hold.
How do I make a QR code that stores a Wi‑Fi password?
You can generate a QR code with the text in the format: WIFI:T:WPA;S:YourNetworkName;P:YourPassword;;. Most phone cameras will recognize this and offer to connect to the network. You can find online generators or use a library in your own code.
What is the smallest QR code I can use?
The smallest QR code is Version 1, which is 21×21 modules. It can hold up to 25 alphanumeric characters (at error correction L) or 17 bytes. That’s enough for a short URL or a simple text message.
Related
Formula used
in t | Text length | characters | 100 | 0 in v | QR version | 1-40 | 10 | 1 in e | Error correction | L=1, M=2, Q=3, H=4 | 2 | 1 out cap | Max characters (alphanumeric) | chars | floor((v * 25 + 10) * 0.6 / e) | 0
Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.