QR codes vs barcodes — which belongs on your product
QR codes vs barcodes is a decision, not a contest. Where 1D linear barcodes, Data Matrix, and QR codes each belong on a product, and where you need both.
QR codes vs barcodes is the wrong framing — both belong on most products, doing different jobs. The 1D barcode you've seen on cereal boxes since the 1970s is for inventory and the checkout till. The QR code on the back of the same box is for engagement — recipes, ingredient origin, recall notices, marketing campaigns. They share the word "barcode" in casual use and almost nothing else in practice. Picking one without thinking about the other is how brands end up with packaging that scans nowhere it needs to.
This post is the decision framework for what goes on a new SKU. The three families you actually choose between (1D linear, 2D Data Matrix, QR), what each one is good at and bad at, the printable-surface and scanner-availability constraints that decide most calls, the GS1 Digital Link standard that finally lets one symbol do both jobs, and the cases where you should just put two codes on the package and stop trying to be clever. By the end you'll have an opinion on what to print on the next product you ship.
The three formats you're actually choosing between
The word "barcode" gets used for everything, but the formats you'll meet on real products are three:
1D linear barcodes (UPC-A in North America, EAN-13 in Europe and most of the world). The stripey rectangle. Holds 12 to 13 digits — enough for a product's Global Trade Item Number (GTIN), which a retailer's POS system looks up in their own database to find name, price, tax category, stock level, everything else. Almost no data lives in the barcode itself; the barcode is a pointer. Every supermarket checkout laser in the world reads them. Cheap to print, cheap to scan, miserable for anything other than a static product ID.
2D Data Matrix codes. A small square of black-and-white modules — looks like a stripped-down QR with no big corner squares. Designed for industrial use. Holds 2,335 alphanumeric characters in a fingernail-sized footprint. Dominant in pharmaceuticals (the FDA's Drug Supply Chain Security Act mandates Data Matrix on prescription packaging), aerospace parts, electronics, automotive. Your phone can't scan one out of the box. Industrial handheld scanners chew through them in milliseconds.
QR codes. The big square with three corner markers. Holds up to 7,089 numeric digits or 2,953 bytes, scans from any phone, designed from day one for arbitrary data — URLs, contact cards, calendar events, payment instructions, WiFi credentials. Built by Denso Wave in 1994 for car-part tracking, ended up on every restaurant menu after 2020. The fundamentals are in what is a QR code, explained if you want the technical baseline, and the storage-capacity walkthrough for plain text QR payloads digs into the version-by-version numbers when the payload is the message rather than a URL.
The reason you can't just "pick one" is that the things they're good at don't overlap. A 1D barcode at the till is fast, predictable, and known by every cashier. A QR on the same product opens a 5-minute brand experience that nobody at the till cares about. Data Matrix is the format you reach for when neither of the other two fits the surface or the workflow — usually because the printable area is the size of a thumbprint.
What each one is good at
1D barcode (UPC/EAN). Five things:
- The retail till reads it. Every laser scanner at every supermarket, every handheld in every warehouse — they all read 1D linear barcodes. This is the universal language of retail, and no QR-only future is going to displace it on a timeline that matters to you.
- It's tiny in one dimension and forgiving in the other. A 25mm-wide UPC scans from a 2mm-tall printed bar. Useful when your label is a curved bottle or a thin strip.
- It encodes a GTIN. A globally unique product identifier registered with GS1, the standards body that runs the numbering scheme. The retailer's POS system looks up that GTIN in its product master file and pulls everything else.
- It's free to deploy after the GTIN. You pay GS1 once for a prefix; printing the barcode is just ink.
- Failures are loud. A scanner that can't read the code beeps. Cashier types in the digits underneath. Transaction continues. The fail mode is friction, not lost data.
Data Matrix. Three things:
- Density that 1D can't touch. A 5×5mm Data Matrix holds the same data as a 100mm-wide 1D barcode. On pharmaceutical blister packs, electronic components, surgical instruments — anywhere the printable area is smaller than a fingernail — Data Matrix is the only option.
- Direct part marking. Data Matrix can be laser-etched directly onto metal, plastic, or ceramic. The scanner reads the etched pattern even when it has no contrast — pulse-laser engravings on stainless steel, dot-peened markings on engine blocks.
- Regulatory backing. The FDA mandates Data Matrix on US prescription drug packaging under the Drug Supply Chain Security Act. The EU requires it on every medicinal product under the Falsified Medicines Directive (2D Data Matrix carrying GS1 element strings: GTIN, batch, expiry, serial number).
QR code. Five things:
- The phone reads it. Every iPhone since iOS 11 (2017) and every modern Android scans QR codes from the native camera, no app. That's effectively the entire smartphone install base.
- Arbitrary data, not just IDs. A URL, a vCard, a WiFi password, a calendar event, an SEPA payment string. The full payload menu is in the encoding modes the spec defines.
- High error correction. Up to 30% damage tolerance at level H. The whole rationale is in QR error correction levels and when to use them. 1D barcodes have minimal error correction; one scratched bar and the scan fails.
- It's a marketing surface. Round modules, brand colours, logo overlay in the centre. None of that is possible on a 1D barcode. The trade-offs are in what makes round QR codes actually work.
- It can be dynamic. A static QR encodes the data directly into the modules; change anything and you reprint. A dynamic QR encodes a short URL that resolves to whatever destination you want today — the case is in static vs dynamic QR codes.
The clearest way to see why the formats coexist is to look at where each one lives on the same physical product. A cereal box, for example, carries up to three codes by the time it reaches the shelf — and each one is in a specific place because a specific reader has to find it.
What each one is bad at
1D barcode. Holds 12 digits. That's it. You can't put a URL in a UPC, you can't put a recipe in an EAN, you can't put recall information in a 1D linear barcode. It's a pointer to a database. If the database doesn't have what you need, the barcode can't help.
Data Matrix. No consumer scanner ecosystem. iPhones don't scan Data Matrix from the camera. Android's behaviour is inconsistent — some manufacturers detect it, most don't. If your goal is a customer pulling out a phone, Data Matrix is the wrong call regardless of how clever the format is. It's an industrial format, period.
QR code. Bigger printable footprint than Data Matrix for the same payload, because the format trades density for camera-readability. The three big corner markers eat space. A QR holding only a 12-digit number is still ~15mm square minimum; a Data Matrix holding the same data is 5mm square. On a pharmaceutical strip pack, that 10mm matters.
The decision: what goes on your product
The vast majority of consumer-product decisions reduce to this:
The default for a packaged consumer product sold in retail is both. A UPC/EAN somewhere the POS scanner can find it (typically a side or back panel where a cashier can rotate the package), and a separate QR somewhere a shopper would look (back panel, often near the ingredients or sustainability copy). The CPG-side angle on the QR placement is covered in QR codes in retail — shelf tags, packaging, attribution.
For a product sold direct — a small-batch coffee bag from a local roaster, a sweatshirt from a one-person clothing label — the 1D barcode does nothing. You don't have a retail POS scanning it. Just put a QR on the package and call it done.
For a product where the printable area is genuinely tiny (a pill blister, a SIM card, a surface-mount electronic component), Data Matrix is the answer, with a separate QR somewhere else on the secondary packaging for consumer-facing stuff.
GS1 Digital Link — one symbol, both jobs
The annoying part of "use both" is that the back of a 60g chocolate bar doesn't always have room for two codes. GS1 has spent the last six years building the standard that fixes this — GS1 Digital Link, a way to encode the same GTIN that lives in a 1D barcode inside a QR code that also resolves to a web URL.
The QR's payload looks like:
https://example.com/01/09506000134352
The string 01/09506000134352 is a GS1 element string — 01 is the application identifier for GTIN, 09506000134352 is the 14-digit GTIN. A web browser sees a perfectly valid URL and opens the product page. A GS1-Digital-Link-aware POS scanner sees the same string and extracts the GTIN exactly as if it had read a 1D barcode. One symbol, two readers, no duplication.
The hard part is the scanner side. The big POS hardware vendors — Datalogic, Zebra, Honeywell, Newland — all sell devices that read GS1 Digital Link QR codes in 2025–2026 models. The replacement cycle is slow. Most supermarket chains run scanner fleets that are 5–10 years old, and "the new chocolate bar packaging breaks the till" is exactly the kind of risk that retail buyers won't accept. The industry-wide migration target GS1 set is 2027 for the "Sunrise 2027" initiative — every POS in the world reading 2D codes alongside 1D. Whether that lands on time is a separate question; most operators we talk to plan for 2028–2030.
The future is one QR on the package doing the work of both today's barcode and today's marketing QR. The past is two codes. Right now we're in the messy middle, and most packaging designers are still printing two codes for at least three more years.
So if you're designing packaging in 2026 and your product ships to mass retail: print both. The 1D barcode for the till hardware that exists now, the QR for the phone in every shopper's pocket. Revisit in 2028.
Printable space — when each format fits
The size constraints decide a lot of these calls before any other factor.
Minimum 1D barcode (UPC-A). GS1 specifies a nominal symbol size of 37.29 × 25.91mm at 100% magnification. The official allowed range is 80% to 200% — so you can print as small as 29.83 × 20.73mm (80%) on retail packaging, smaller on internal-use-only items but with read-rate degradation. A retail-compliant UPC needs at least 30mm of horizontal printable space.
Minimum 2D Data Matrix. Down to 1mm square in industrial laser-etching applications. Practical minimum for printed Data Matrix is 5–6mm square — that's the size used on pharmaceutical strip packs.
Minimum QR code. Depends on scan distance. For phone scanning at arm's length (~30cm), the minimum print size is around 15mm square at error correction level M. The math behind the calculation — modules per side × required pixels per module × DPI — is in minimum QR code size for print.
On a 60g chocolate bar (typically 50 × 100mm of back-panel real estate), you can fit a 30mm UPC and a 15mm QR with margin. On a SIM-card carrier (20 × 50mm), you fit the UPC and nothing else. On a pharmaceutical blister card (40 × 60mm), regulation forces you to print Data Matrix carrying batch/expiry/serial, leaving a small space for a 15mm QR if you want one — and most pharma operators don't.
Prototype the QR side of your packaging before you commit to plate proofs.
Try the free QR code generatorScanner availability behind the till
The factor that quietly decides most of the "do we need 1D?" calls is what scanner the retailer has behind the till.
Laser-line scanners (the red-line beam at every grocery checkout for 30 years) read 1D barcodes only. They cannot read 2D codes at all. As of 2024, roughly 60–70% of the installed base of retail POS scanners in the US, EU, and most of Asia is still laser-line. If your buyer's POS uses laser scanners, you must print a 1D barcode — there is no software workaround.
Imager-based scanners (camera-based devices that look like a small block, not a beam) read both 1D and 2D codes. They're standard on every POS device sold since around 2020, and they're winning the replacement cycle. By 2027, the majority of large-format retailers will be on imagers. Independent stores and emerging markets lag by 3–5 years.
Phone-based scanning (the cashier's own iPhone or Android, used as a POS via Square, Shopify POS, etc.) reads everything from day one. This is where the small-merchant transition has already happened — a coffee shop running Square Stand has no laser scanner anywhere on premises.
The practical rule: if your product sells through any chain retail in 2026, assume the scanner is laser-line and print a UPC. If your product sells only through independents and DTC, you can probably skip the 1D and put a QR on the package as the only code. If you're not sure, ask the retail buyer at the chain you're pitching — they know exactly what scanners their stores have.
The interactive picker
Where each one fails
1D barcodes fail when the bars get damaged. The format has minimal error correction. A scratch across the bars, a fold in the label, ink bleed from cheap thermal printing — any of these can make the scanner give up. The fallback is the cashier typing in the 12-digit number printed under the bars. Cost of failure: 15 seconds of friction at the till.
Data Matrix fails when a consumer tries to scan it. They open the camera app, point it at the code, nothing happens. They assume it's broken. The format works perfectly — it's the wrong tool for that user. The packaging team that put consumer-facing content behind a Data Matrix made a category error.
QR codes fail in four ways, all of which we've covered before — bad contrast, broken finder patterns, oversize logo overlays, low error correction at level L. The diagnostic walkthrough is in QR code not scanning — six fixes, and the domain you point the QR at matters as much as the visual design once it scans.
What the platform side looks like
A dynamic QR code's value is that you can change where it points without reprinting the package. The same QR on a yogurt cup printed in 2024 should still be working in 2027, even if you've migrated CMS three times, changed agency twice, and added a recall response system. That stability requires:
- A custom domain (not bit.ly or a free shortener that might disappear).
- A redirect layer you control or own.
- Per-QR analytics so you know which packaging is actually getting scans.
The setup walkthrough is in the QR codes docs, and the case for owning the domain you point QRs at is in why your QR code domain matters as much as the design. If you want to see what your packaging QR will look like at scale before committing, the free QR code generator renders the exact module pattern at print size, so you can measure it against the 15mm-on-the-back-of-a-chocolate-bar reality before you sign off on art.
So, which one belongs on your product?
The honest answer for a packaged consumer product sold in retail in 2026: both. A UPC/EAN sized to GS1 spec for the POS hardware that exists. A 15mm-or-larger dynamic QR pointing at your own short-link domain, carrying whatever engagement layer makes sense for the product — a recipe, an ingredient story, a reorder link, a recall channel. The five jobs the engagement QR can actually do are walked through in QR codes for product packaging — beyond the marketing tag, with category-by-category fit so the QR doesn't end up wasted on "follow us on Instagram."
For a DTC-only product, just the QR. For a pharma product, Data Matrix mandated and QR optional on outer cartons. For an industrial component, Data Matrix and nothing else. The exception nobody talks about: any product sold through chain retail where the buyer's scanners are imager-based and the buyer accepts GS1 Digital Link — one QR can do both jobs starting now. Confirm with the buyer, don't assume.
The biggest mistake we see is treating "QR codes vs barcodes" as a tribal debate. They're tools. They do different jobs. The product designer's only real question is which jobs the product needs done, and the printable surface decides the rest.
Are QR codes a type of barcode?
Yes, in the technical sense — a QR code is a 2D barcode. The word "barcode" in everyday use means the 1D linear stripes (UPC/EAN), but the formal definition of a barcode is any machine-readable optical symbol that encodes data. QR codes, Data Matrix, PDF417, and Aztec are all 2D barcodes. UPC, EAN, Code 39, and Code 128 are 1D linear barcodes.
Can a QR code replace a UPC at retail checkout?
Not yet, at most chain retailers. The POS hardware in most supermarkets is still laser-line scanners that read 1D codes only. GS1 Digital Link is the standard that lets a single QR carry both a GTIN (for the till) and a URL (for the shopper), and the industry target is 2027 for widespread scanner support. Until then, print both codes if you sell through chain retail.
What's the difference between Data Matrix and QR codes?
Both are 2D barcodes. Data Matrix is denser per square millimetre (no big corner finder patterns) but is read mostly by industrial scanners — phones don't scan it natively. QR codes are larger for the same data but read by every smartphone in the world. Data Matrix dominates pharma, electronics, and industrial workflows; QR dominates anything consumer-facing.
Do I need to register with GS1 to use a QR code?
No. QR codes that carry URLs, vCards, WiFi credentials, or any custom data don't need a GS1 registration. You only need a GS1-issued GTIN (and the prefix that goes with it) if you want a globally unique product identifier for retail POS — and that's a 1D-barcode concern, not a QR-code concern. The QR is yours to point wherever.
Can the same QR code work in different countries?
Yes — the QR specification (ISO/IEC 18004) is identical worldwide, and every smartphone reads any standard QR regardless of where the code was generated. The destination URL the QR points to can vary by region (geo-redirected from your platform), but the physical QR pattern is universal. UPC/EAN-13 barcodes do vary slightly by region (UPC is 12 digits, EAN is 13), but both formats are readable by most modern retail scanners.
How small can a QR code be on packaging?
About 15mm square for reliable phone scanning at arm's length, assuming error correction level M and reasonable print quality. Below that and short-focus phone cameras struggle to lock on. The math (modules × pixels-per-module × DPI) is in the post on minimum print size — for shorter URLs and higher error correction, you can sometimes push down to 12mm.
Is GS1 Digital Link replacing UPC barcodes?
Eventually, yes — that's the explicit goal of the GS1 Sunrise 2027 initiative. Practically, the migration depends on POS scanner replacement cycles, which run 5–10 years in chain retail. Expect dual-printed packaging (1D + QR with GS1 Digital Link) through the late 2020s, with the 1D barcode disappearing first from premium and tech-forward retail categories.
Sourcesshow citations
- ISO/IEC 18004:2024 — QR code specification: https://www.iso.org/standard/83389.html
- ISO/IEC 16022:2006 — Data Matrix specification: https://www.iso.org/standard/44230.html
- GS1 Digital Link standard: https://www.gs1.org/standards/gs1-digital-link
- GS1 Sunrise 2027 initiative: https://www.gs1.org/standards/Sunrise-2027
- FDA Drug Supply Chain Security Act (Data Matrix on prescription drugs): https://www.fda.gov/drugs/drug-supply-chain-security-act-dscsa
- EU Falsified Medicines Directive (2D Data Matrix on medicinal products): https://health.ec.europa.eu/medicinal-products/falsified-medicines_en
- Apple — QR code scanning from Camera app (iOS): https://support.apple.com/guide/iphone/scan-a-qr-code-iph0c3d4392a/ios
- Google — QR code scanning on Android: https://support.google.com/android/answer/12614631
Try it on your own domain
Branded short links and dynamic QR codes, on your subdomain or your own domain. One-time purchase, no per-click fees.