Skip to main content
EZQR
QR Codes for Packaging & Labels

QR Codes for Labels & Packaging

A QR code on a label is the one placement where size is decided for you. The label is already small, the artwork is already crowded, and the code gets whatever space is left — which is usually less than the printing standard allows. Most label QR failures are decided at artwork stage, not at the printer.

Try it now

No signup • Free download
Free static QR codes. Sign up to unlock dynamic codes & analytics.

Your QR code will appear here

Why packaging & labels businesses reach for a QR code

  • GS1 sets the minimum printed module at 0.396 mm, which puts a floor of roughly 14.7 mm on a typical label code
  • A 12 mm slot gives about 0.324 mm per module — under the floor, so it fails the standard before it is printed
  • A short encoded string keeps the grid coarse, which is what makes a small label code work at all
  • GS1 Digital Link lets one code serve both the till scanner and the shopper
  • Curved and shrink-sleeve surfaces distort the pattern after artwork sign-off

Without a QR strategy

The breakdowns packaging & labels teams keep running into

The code is sized to the gap left in the artwork

Label layout is usually finished before anyone asks how big the code needs to be, and the code inherits whatever space remains. If that is under about 14.7 mm for a typical payload, the code is below the GS1 floor before it reaches the press.

Everything gets encoded into the code itself

Batch, expiry, lot, URL parameters and tracking tags all lengthen the string, and every addition makes the grid denser and the modules smaller in the same physical space. Long payloads are the most common reason a label code fails.

Proofed flat, applied curved

A code that scans perfectly on a flat proof can fail once the label is wrapped around a 40 mm bottle, because the curve compresses the pattern at the edges.

Artwork is locked, then the destination changes

A static code baked into packaging cannot be repointed. A reformulation, a recall notice or a retired campaign page leaves millions of printed units pointing at the wrong place.

The deep dive

The packaging & labels QR playbook in depth

The smallest QR code a label can carry

This is the number that decides everything else, and it is set by a printing standard rather than by any generator.

GS1 specifies a minimum printed module of 0.396 mm and a target of 0.495 mm for 2D codes in retail. A QR code is a grid of modules plus a four-module quiet zone on every side, so the smallest legal width is simply (modules + 8) × 0.396 mm.

Run through the same qrcode encoder this site generates with, at error correction M:

  • A short redirect (ez-qr.com/r/ + 7 characters, 27 chars) → 29 modules → 14.7 mm
  • A GS1 Digital Link carrying just the GTIN (37 chars) → 29 modules → 14.7 mm
  • GTIN plus batch (47 chars) → 29 modules at M, 33 at Q → 14.7–16.2 mm
  • GTIN plus batch plus expiry (57 chars) → 33 modules → 16.2 mm

The practical consequence: a 12 mm slot does not work. At 12 mm a 29-module code gives 0.324 mm per module, comfortably under the 0.396 mm floor. The code may still scan on a new phone in good light, and it will fail on a handheld scanner at the till, on an older device, or once the label is scuffed.

Two ways out, and only two. Make the slot bigger, or make the string shorter — which is why a dynamic code earns its place here: it encodes a fixed short redirect no matter how long the real destination is, so the grid stays at 29 modules whatever sits behind it.

GS1 Digital Link: one code for the till and the shopper

Traditionally a product carried two marks: a linear barcode the till reads, and sometimes a QR code for consumers. GS1 Digital Link collapses that into one, by expressing the product identifier as a web address.

Instead of a bare GTIN, the code encodes something like example.com/01/09506000134352, where 01 is the GS1 application identifier for a GTIN. A retail scanner can extract the identifier from that structure; a phone camera simply opens the page. Batch and expiry extend the same path — /10/ABC123 for batch, /17/270401 for expiry.

What it buys you is a single square doing two jobs, and a destination you can change without new artwork if the code is dynamic. What it costs is length: every attribute you add lengthens the string and pushes the module count up, which is the sizing problem above. Carry the GTIN in the code and keep batch-level detail on the page where it is cheap, unless the batch genuinely has to be readable offline.

What the regulations actually require, and what they do not

There is a lot of confident misinformation in this area, so here is the accurate position.

The EU Digital Product Passport does not apply to food. The DPP sits under the Ecodesign for Sustainable Products Regulation, and ESPR explicitly excludes food, feed and medicinal products. It applies to categories such as textiles and apparel, electronics, batteries and furniture. If you sell those, DPP is a real and approaching obligation. If you sell food, it is not yours — and any supplier telling you the EU requires a QR code on packaged food by a given date is repeating a claim that does not exist.

The US food driver is FDA FSMA Section 204, the Food Traceability Rule. It requires records — Key Data Elements tied to Critical Tracking Events — for foods on the Food Traceability List. It does not mandate a QR code. The compliance date was extended to 20 July 2028. A QR code is one convenient way to make those records reachable; it is not what the rule asks for.

The honest summary: for most packaging, a QR code today is a commercial decision rather than a compliance one. Build it because it earns something, and size it properly, rather than because a deadline was misquoted at you.

Substrate and press, where artwork meets reality

A label code is printed on material that moves, stretches and gets handled, which is different from every other placement.

Direct thermal fades. It is the cheapest label method and the image degrades with heat, light and abrasion — fine for a shipping label read within days, poor for anything that sits on a shelf.

Thermal transfer holds better, and the ribbon and stock have to be matched; a mismatch produces soft edges that eat into the module grid.

Flexo spreads ink. Dot gain thickens the dark modules, which narrows the light ones and lowers effective contrast. If the code is near the minimum size, dot gain is what takes it under.

Curved containers compress the pattern at the edges of the visible face. The tighter the radius, the more margin and error correction the code needs. Shrink sleeves are worse again, because the film distorts unevenly as it shrinks.

The test that matters: print on the real stock, on the real press, apply to the real container, and scan it with a handheld and a phone that have never seen the code. The QR code size guide covers the sizing rules, and the best-practices guide covers contrast and quiet zone.

In production

How packaging & labels teams actually deploy QR codes

1

Retail product label

A GS1 Digital Link code carrying the GTIN, so the same square works at the till and opens product information for a shopper.

2

Batch and expiry traceability

GTIN plus batch and expiry in the Digital Link path — 57 characters, 33 modules, so the label needs at least 16.2 mm.

3

Shelf-edge and carton labels

Larger surfaces where size is not the constraint, so error correction can go up and a logo can be carried.

4

Shrink sleeve

The sleeve distorts around the container, so the code needs extra margin and Q-level correction to survive the curve.

Quick start

Ship your first QR in three steps

Step 1

Decide what the code encodes before the artwork

A short redirect or a bare GTIN Digital Link stays at 29 modules. Adding batch and expiry pushes it to 33. Decide this first, because it sets the minimum size the label has to accommodate.

Step 2

Check the module size against the space you have

Divide the code width by the module count plus eight for the quiet zone. If the result is under 0.396 mm, the code is below the GS1 floor and needs either a bigger slot or a shorter payload.

Step 3

Choose error correction for the surface

M is fine for flat labels on paper or synthetic stock. Step up to Q for curved containers, shrink sleeves, or anything that will be handled, scuffed or refrigerated.

Step 4

Proof on the real substrate

Print on the actual label stock with the actual press, apply it to the actual container, and scan it. Thermal transfer, direct thermal, flexo and digital all hold edges differently, and a code proofed on office paper has not been proofed.

What changes

The operational wins packaging & labels teams report

  • One printed square can serve both scanner and shopper with GS1 Digital Link
  • Dynamic codes let a recalled or reformulated product repoint without new artwork
  • Scan data by location shows where a product is actually being picked up
  • No per-scan fee, so a code on a million units costs the same as one on a hundred

Common questions

Packaging & Labels QR codes, answered

What is the smallest QR code that can go on a product label?

About 14.7 mm for a typical short payload. GS1 sets the minimum printed module at 0.396 mm, and a 29-module code with its four-module quiet zone on each side needs (29 + 8) × 0.396 mm to meet it. A 12 mm slot gives roughly 0.324 mm per module, which is under the floor — it may scan on a good phone in good light and will fail on a handheld scanner or a scuffed label. If the space cannot grow, shorten what the code encodes.

What is GS1 Digital Link and do I need it?

It expresses a product identifier as a web address, so one code serves both a retail scanner and a shopper with a phone. A GTIN becomes something like example.com/01/09506000134352, with batch and expiry extending the same path. You need it if the same square has to work at the till and open consumer information. You do not need it for a marketing code that only ever faces a customer — an ordinary URL is shorter, and shorter means a smaller code.

Does the EU Digital Product Passport require a QR code on food packaging?

No. The DPP sits under the Ecodesign for Sustainable Products Regulation, which explicitly excludes food, feed and medicinal products. It applies to categories such as textiles, electronics, batteries and furniture. The claim that the EU requires a QR code on packaged food by a particular date is false and is repeated often. For US food, the relevant rule is FDA FSMA Section 204, which requires records rather than a QR code, with a compliance date of 20 July 2028.

Should label codes be static or dynamic?

Dynamic, in almost every case where the packaging will outlive the campaign. Artwork is expensive to change and packaging runs are large, so a static code locks millions of units to one destination. A dynamic code also keeps the encoded string short regardless of how long the real URL is, which keeps the module count down — and on a label, module count is the whole constraint. The exception is a code that must resolve without any server in the path.

Why does my label QR code fail after printing when the proof scanned fine?

Usually one of three things. Dot gain on a flexo press thickens the dark modules and lowers contrast. The label was proofed flat and applied to a curve, which compresses the pattern at the edges. Or the substrate is different from the proof stock — direct thermal in particular softens edges as it ages. Proof on the real material, on the real press, applied to the real container.

Can one QR code carry batch and expiry as well as the product code?

Yes, through GS1 Digital Link path segments — /10/ for batch and /17/ for expiry. The cost is length: GTIN alone is 37 characters and 29 modules, while GTIN with batch and expiry is 57 characters and 33 modules, pushing the minimum printed width from 14.7 mm to 16.2 mm. If the label cannot spare that, keep batch detail on the destination page instead.

Matched tool

Go deeper on the DYNAMIC generator

Customize colors, embed a logo, set error correction — every option for packaging & labels workflows.

Open dynamic generator

Related Articles

Related Industries

Related Guides

Start with one code. Iterate from there.

EZQR is free for static codes — unlimited, no watermark, no signup. Build the first one in 60 seconds and roll it out across your packaging & labels workflow when it earns its place.