QR code vs barcode
QR code
A two-dimensional grid that stores arbitrary text — links, credentials, contact records — and is designed to be read by a phone camera from any angle, with redundancy built in so a damaged code still decodes.
Linear barcode
A one-dimensional pattern of bars encoding a short number, usually a product or logistics identifier. Read by dedicated hardware at high speed, and meaningless on its own without a database to look the number up in.
Side by side
| Criterion | QR code | Linear barcode |
|---|---|---|
| Dimensions readThe extra axis is where the capacity difference comes from. | Two — height carries data as well as width | One — only the horizontal sequence of bars matters |
| Typical capacity | Up to about 4,300 alphanumeric characters | Eight to twenty digits depending on the symbology |
| What it usually encodesA barcode is a pointer; the meaning lives in someone else's system. | The content itself — a URL, credential or record | An identifier that a database resolves into content |
| Reader | Any phone camera, no app required on current handsets | Laser or imaging scanners, or a phone app that knows the symbology |
| Orientation tolerance | Any rotation, and moderate tilt, thanks to the corner finder patterns | Must be roughly aligned with the scanner's beam |
| Damage toleranceThis is why two-dimensional codes dominate on parts that get handled. | Built-in Reed-Solomon recovery of up to thirty percent of codewords | Essentially none; a scratch across the bars stops the read |
| Physical footprint for the same data | Compact, because data stacks in both directions | Wide, because length grows with every digit added |
| Standardisation and registrationThe registration requirement, not the format, is what costs money. | None needed — encode whatever text you want, for free | Retail numbers must be bought from GS1 to be globally unique |
| Scanning speed at a till | Fast enough for a person, slow for a conveyor | Extremely fast, and unbeaten for high-throughput checkout |
| Human readabilityThat fallback matters when a label is damaged beyond scanning. | None; the pattern gives no clue about its contents | The digits are printed underneath and can be typed in manually |
The short answer
Which one should you use?
These are not competing formats and the choice is almost never open. If you need a product to be scanned at a supermarket till, you need the linear barcode the retail system expects, and no amount of extra capacity makes a QR code an acceptable substitute. If you need a person with a phone to reach something — a page, a network, a payment — a linear barcode cannot carry it and a phone camera is not the right reader for one anyway. The genuinely interesting cases are packaging and logistics labels, where both appear side by side doing different jobs: the linear code identifies the item to machines, and the two-dimensional code gives the human holding it somewhere to go.
Choose QR code when
- A person holding a phone is the intended reader, and they need to reach a page, join a network or save a contact.
- The content has to be self-contained, because there is no database to resolve an identifier against.
- The label will be handled, scuffed or partly obscured and still has to work.
- Space is tight and the payload is longer than a handful of digits.
Choose Linear barcode when
- The item passes through retail checkout or a warehouse scanner that expects a specific symbology.
- Throughput matters more than capacity, as on a conveyor or a supermarket belt.
- A human needs to be able to read and type the number when the label is too damaged to scan.
- You already run the database that turns the identifier into meaning, which is what the number is for.
Common questions
Can a phone scan a normal retail barcode?
Yes, with an app that supports the symbology, and modern phone cameras manage it in reasonable light. What you get back is just the number, which is only useful if something can look it up — a shopping app, a price comparison service or your own inventory system. That is the practical difference in one sentence: the two-dimensional code hands the phone something it can act on immediately, while the linear one hands it a key to someone else's lock.
Why do product boxes carry both?
They are aimed at different readers. The linear code identifies the item to till systems and warehouse equipment, which are built around that specific number and will not accept anything else. The square code faces the customer, offering a manual, a registration page, an authenticity check or a support contact. Neither could do the other's job, so putting both on the box is cheaper and more reliable than compromising on one.
Is a QR code always bigger than a barcode?
For the same data it is usually smaller, because stacking in two dimensions is far more space-efficient than extending a row of bars. A twelve-digit retail number encodes into a very compact square. The reason retail codes look small anyway is that they carry almost nothing — twelve digits — while people usually put a full web address into a square code and then compare the two, which is not the same comparison.
Do I need to register or pay for a QR code?
No. The format is covered by an open ISO standard, and while Denso Wave holds patents and the name is a trademark, generating and printing codes has never required a licence or a fee. Retail barcode numbers are different: the number itself has to be globally unique, so it is bought from GS1. The cost there is the registration of the identifier, not the printing of the pattern.
What about Data Matrix, PDF417 and Aztec?
They are all two-dimensional formats with the same basic idea and different trade-offs. Data Matrix stays readable at very small sizes and dominates electronics component marking. PDF417 is a stacked format used on driving licences and boarding passes. Aztec needs no quiet zone, which is why rail tickets favour it. QR won consumer use for one non-technical reason: phone makers built decoding into the default camera, so there is nothing to install.
Try it in a generator
Other comparisons
- Static vs dynamic QR codesStatic codes carry the data themselves and never expire. Dynamic codes add editing and analytics but depend on a subscription. Here is where each one belongs.
- PNG or SVG for a QR code?SVG scales to any size without softening module edges. PNG is a fixed grid of pixels that every tool accepts. Which one to send depends on where the code lands.
- vCard vs MeCard contact codesvCard carries every contact field but encodes long. MeCard is far more compact and loses detail. Which one belongs on a business card depends on the print size.