QR codes on wine labels: size, placement and the mistakes that cost a print run

The QR code on your back label has to survive print, glass curvature, cellar lighting and a decade of shelf life. Here is how to specify one that works — and the shortcut that quietly makes your e-label non-compliant.

A QR code on a wine label is not a web design decision. It is a print specification that has to survive a curved glass surface, variable cellar and retail lighting, a phone held at an angle by someone who has had a glass, and a shelf life measured in years.

Most of the failures are avoidable, and they cluster around five decisions.

1. What the code points at

Encode a URL on a domain you control. Not a shortener, not a service’s tracking domain — yours.

This matters more than it sounds. A dynamic QR service works by encoding its URL on your bottle and redirecting to yours, so it can count the scan. Two consequences: every consumer who scans your bottle is logged by a third party, and your label stops working the day that subscription lapses. For an e-label carrying mandatory particulars, the first of those is a compliance problem in itself — the page presenting mandatory information must not collect or track user data.

Static code, own domain, permanent URL. That is the whole rule.

2. Keep the URL short

QR code density is driven by how many characters you encode. A long URL means more modules, smaller modules at the same physical size, and a code that fails to scan in poor light.

drinksbase.net/e-label/9cebd100-5aaf-408e-a605-3fca426885cf   ← 57 chars, dense
drinksbase.net/w/quinta-platanos-2023                        ← 37 chars, coarser

Every character you remove makes the printed code more forgiving. If your platform lets you choose a readable slug over a UUID, take it.

3. Size and quiet zone

  • 12–15 mm square is the safe specification for a wine back label. 10 mm is the practical floor with a modern phone; below that you are relying on ideal conditions.
  • Leave the quiet zone — a clear margin of four modules on every side. This is the single most common cause of a code that “sometimes” scans. Text or a border crowding the edge breaks the finder pattern.
  • Dark code on light background. Do not invert it, and do not print it in a colour with low contrast against the paper. Metallic and textured stocks scatter light: if you are printing on foil or heavily embossed paper, raise the error correction level.
  • Error correction M is enough for flat, clean stock. Use Q or H for textured, foiled or partially varnished labels — it adds redundancy at the cost of a slightly denser code.

4. Where it goes on the bottle

The back label of a 750 ml Bordeaux bottle wraps around roughly a 75 mm diameter. That curvature distorts anything near the label’s vertical edges.

  • Keep the code near the horizontal centre of the back label, away from the steepest curve.
  • Keep it clear of the shoulder and the base, where the glass curves in two directions at once.
  • Do not let it run under the edge of a capsule, a neck tag or a promotional sticker — supermarket price labels are applied by people who do not know your QR is there. Leave margin.

5. Identify what it is

A bare QR code on a back label reads as marketing. The electronic information has to be clearly identified as the mandatory particulars, so put a short wordmark or the accepted symbol next to it. It also improves scan rates: people scan a code labelled “Ingredients & nutrition” far more readily than an unlabelled square.

Test before the run, not after

The checks that catch real problems:

  1. Print a proof at final size on final stock — not a laser print on office paper. Texture and ink spread are exactly what you are testing.
  2. Wrap it on an actual bottle. Flat proofs hide curvature failures.
  3. Scan with at least three phones, including an older Android — camera quality varies more than iPhone owners assume.
  4. Test in poor light. A cellar door, a restaurant, a supermarket aisle.
  5. Confirm the URL resolves to the e-label itself, not a homepage the consumer then has to navigate.
  6. Check it answers in the languages of every market you ship to.

The failure nobody plans for

The most expensive QR mistake is not a scanning problem. It is a URL printed on 40,000 bottles that stops resolving two years later, because the site was rebuilt, the plugin was retired, or nobody renewed the service.

Treat the address on the bottle as permanent infrastructure. Whatever generates your e-label, ask one question before you print: will this URL still resolve in five years, and who is responsible for that?

Drinksbase generates the e-label page and its QR code from the wine record, on a stable URL, with the public page kept free of tracking and marketing — the two things that make a QR on a wine bottle a liability rather than an asset.

For what actually has to appear on that page, see our guide to EU wine label rules.

Frequently asked questions

About 10 mm is the practical floor for a modern phone camera; 12–15 mm is the safe specification for a wine back label. Shorter URLs need fewer modules, which makes the code coarser and easier to scan at small sizes.

For a static code pointing at your own URL, yes. Avoid free dynamic QR services — they route the scan through their own domain to count it, which both tracks the consumer and puts your compliance in the hands of a subscription you might forget to renew.

The electronic information must be clearly identified as such. A small wordmark or the accepted symbol next to the code makes the intent unambiguous, and stops consumers assuming it is a marketing link.

Bottles already printed keep pointing at the old address. Encode a URL on a domain you control and keep it resolving — or you are reprinting labels.

Turn your labels into a digital catalog.

Create EU-compliant e-labels, product sheets and QR-linked pages — with AI doing the heavy lifting.