HomeLearnQR code vs barcode: the real difference
Basics

QR code vs barcode: the real difference

One identifies a product to a till. The other carries the information itself. Retail is now slowly moving from the first to the second.

8 min read · Updated August 2026

The short answer

A traditional retail barcode is a product number and nothing else. The stripes on a cereal box encode twelve digits, and every price, name and stock level lives in a database that the number points at. Away from that database the barcode means nothing.

A QR code carries the information itself. It can hold up to 7,089 digits, or 4,296 alphanumeric characters, so the whole address, the whole contact card or the whole WiFi credential fits inside the pattern. No lookup, no database, no system to be connected to.

The distinction that actually matters is not one dimension versus two. It is a pointer versus a payload. A barcode refers to something. A QR code contains something.

What each one holds

The capacity gap is not incremental, it is three orders of magnitude, and it is why the two ended up used for completely different things.

UPC-A barcodeQR code
ShapeStripes, read across one axisSquares, read across two axes
Maximum data12 digits7,089 digits or 4,296 characters
Holds a web addressNoYes
Damage toleranceCheck digit detects errors onlyReconstructs up to 30 per cent
Needs a databaseYes, to mean anythingNo
Read by a plain phone cameraUsually needs an appYes, natively

Damage tolerance is the underrated difference

A UPC barcode has a check digit, which lets a scanner notice that a read was wrong. Noticing is all it can do. If a stripe is scratched, smeared or torn, the barcode cannot be recovered and the cashier types the number by hand.

A QR code uses Reed-Solomon error correction, which does not merely detect damage but rebuilds the missing data from redundancy deliberately spread across the pattern. There are four levels: roughly 7, 15, 25 and 30 per cent recoverable, named L, M, Q and H. At the highest level almost a third of the code can be destroyed and it still reads.

This is also the mechanism that makes a logo in the middle of a QR code work at all. The logo is damage. Error correction absorbs it, which is why raising the correction level is the standard advice when adding one, and why a logo that covers too much still breaks the code no matter what level you choose.

Why shops still use the stripes

Given all of the above, the obvious question is why retail did not switch years ago. The answer is not technical conservatism, it is infrastructure, and the reasons are good ones.

  • The number is licensed, not invented. A retail product number is a GTIN issued through GS1. You cannot generate a valid one yourself, in any barcode format, and a retailer will not stock a product whose number is not properly registered.
  • Laser scanners are built for stripes. A supermarket scanner sweeps a laser line and reads a one-dimensional pattern extremely fast from awkward angles. Reading a 2D code needs a camera-based imager, which many tills only recently acquired.
  • Speed at the till is measured in fractions of a second, multiplied by millions of scans. A change that slows checkout even slightly is expensive in a way that is easy to underestimate.
  • It already works. Replacing something functional across every shop, warehouse and supplier on earth requires more justification than extra capacity alone.

What changes by 2027

That justification now exists, and the transition is formally under way. Under the GS1 Sunrise 2027 initiative, retail point-of-sale systems across more than forty countries are expected to be able to scan 2D codes, meaning GS1 DataMatrix and GS1 Digital Link QR codes, by the end of 2027. Walmart, Carrefour, Tesco and others have published roadmaps and are upgrading scanner hardware now.

The appeal is that one code on the pack can serve the till and the shopper at once. The same square can carry the product number for checkout plus a batch number, an expiry date and a link to allergen information, ingredients or recycling instructions. During the transition, packaging is expected to carry both marks, so the stripes are not disappearing soon.

A caveat worth stating plainly, because it is where this article could mislead you: a GS1 Digital Link QR code is not simply a QR code with your website in it. It encodes a licensed GTIN in a specified structure. A code from this generator, or any general-purpose one, will not work at a supermarket till. If you are packaging a product for retail, your starting point is GS1, not a free tool.

Which one should you be making

For almost everyone reading this, the question answers itself, but it is worth being explicit about the boundary.

  • Selling a product through shops: you need a GTIN from GS1 and a barcode built from it. Ask your retailer what they currently accept, and whether they want a 2D code alongside it.
  • Tracking your own stock, assets or equipment internally: either works, and a QR code is usually easier because staff can scan it with the phones they already carry.
  • Sending someone to a web address, menu, form, review page or WiFi network: QR code, without question. A barcode cannot hold a URL at all.
  • Putting information on something that will get scuffed, wet or handled: QR code, and raise the error correction level.
  • Anything where the person scanning is a member of the public rather than a member of staff: QR code, because their phone reads it with no app and no training.

A common misconception worth clearing up: a QR code is a barcode. It is a two-dimensional one. When people say "barcode" they usually mean the one-dimensional retail kind, and when they ask for "a barcode, not a QR code" they almost always mean a UPC or EAN for shop shelves, which is a GS1 matter rather than a design one.

Make one now

Free, no sign-up, and your code never expires.

OPEN THE GENERATOR →
Related guides

QR code vs barcode: the real difference FAQ

Is a QR code a type of barcode?
Yes. A QR code is a two-dimensional barcode, invented by Denso Wave in 1994. In everyday speech "barcode" usually means the one-dimensional striped kind such as UPC or EAN, which is why the two get treated as separate things.
How much more data does a QR code hold than a barcode?
Around three orders of magnitude more. A UPC-A barcode holds twelve digits. A QR code holds up to 7,089 digits, 4,296 alphanumeric characters, 1,817 Kanji characters or 2,953 bytes, depending on what you encode.
Can I use a QR code instead of a barcode on a product I sell in shops?
Not yet as a straight replacement. Retail checkout needs a GTIN licensed through GS1, and most tills still expect the striped format. Under GS1 Sunrise 2027, systems are expected to handle 2D codes by the end of 2027, with packaging carrying both marks during the transition. Ask your retailer what they accept today.
Why do QR codes still scan when they are damaged?
Reed-Solomon error correction. Redundant data is spread deliberately across the pattern so missing pieces can be rebuilt rather than merely detected. At the highest of four levels roughly thirty per cent can be lost and the code still reads, which is the same mechanism that lets a logo sit in the middle.
Can my phone scan a normal shop barcode?
Usually only with an app. Phone cameras detect QR codes natively, but one-dimensional retail barcodes generally need a dedicated scanning app, and even then the phone can only tell you the number unless the app looks it up in a product database.

Got your code? ☕ Buy me a coffee — it keeps this tool free for everyone.