Guide · Makers

QR codes on product packaging

Packaging lasts longer than almost any other print. A jar or a box sits in a cupboard for months and gets scanned when someone wants to reorder, check an ingredient or find the instructions. Here is how to make that code work on a curved label, in one ink colour, long after the print run.

Updated 5 min read

A QR code laid as the courtyard of the Savanna Sunset island, with a baobab, acacia trees, a safari tent, giraffes, and zebras and elephants at a waterhole

Savanna Sunset, one of the 25 worlds. The code is a link that opens the studio in this world.

The packaging codes that get scanned do one thing and say so in a few words next to the code: “Reorder”, “How to use”, “Recipes”, “Care instructions”, “Refills and recycling”. A code with no label gets ignored; a code that opens your homepage makes people hunt for what they wanted.

Think about when the pack gets scanned. It’s rarely in the shop. It’s at home, weeks later, when the jar is nearly empty or the instructions are lost, so a reorder page or a how-to page usually earns more scans than a brand video.

Links that outlive the print run

Labels are ordered in thousands to keep the unit price down, and a run can last a year or more. The pack stays in kitchens and drawers long after that. Every link has to keep working for all of that time.

  • Link to your own domain, to an address made for the code, such as example.com/p/oat-biscuits. If the product page moves, redirect that address; the labels never change.
  • Avoid links you don’t control: a marketplace listing that gets a new address when it’s relisted, a social media post, a seasonal campaign page.
  • Keep the domain renewed, on automatic renewal. If it lapses, someone else can register it and your packaging sends people to them.
  • Consider a dynamic code if you have no website of your own and the destination may change.

One code per product lets you send people to the right page and, with a dynamic code, see which product gets scanned. One code for the whole range is simpler to manage but lands everyone in the same place.

Minimum sizes for labels

Packaging is read from about 15–25 cm, in the hand, so the code’s size is set by the density of the code rather than the distance. A short link makes a 29 × 29 or 33 × 33 grid that prints reliably at 2 cm wide, which works out at 0.6–0.7 mm per module. Don’t go below 2 cm, and add the light margin, four modules wide on every side: about 2.5 mm each side at that size.

Those minimums come from office-printer tests. Labels printed on a commercial press, especially on film or textured stock, can spread ink more, so ask your printer for their minimum module size on that press and material, and leave a margin above it. The simplest way to get bigger modules in the same space is a shorter link.

Curved surfaces: how far a code can wrap

On a jar, bottle or tin, the code’s edges turn away from the camera. They look narrower than the middle and sit slightly out of place, and scanners correct for a flat tilt but not for a curve. Our rule of thumb from the geometry, not a published standard: keep the code’s width to no more than about a third of the container’s diameter.

ContainerDiameterWidest code on the curve
Small spice jar5 cmAbout 1.7 cm: too small, so use the lid or a tag
Drinks can6.6 cmAbout 2.2 cm
Jam jar7 cmAbout 2.3 cm
Large jar or tin10 cmAbout 3.3 cm

At a third of the diameter the code wraps about 38 degrees of the way round, and its edge modules look only about 5% narrower than those in the middle: a distortion small enough that it rarely matters. At half the diameter they look 12% narrower, and at the full diameter almost half as wide, while a glossy curve also catches a bright stripe of reflected light. The third leaves room to spare; it’s our rule of thumb from that geometry, not a published standard, so test on the real container. Rotating the code doesn’t help, because the curve runs the same way whichever way the code faces.

When the curve leaves too little room, move the code: onto the lid, a flat panel on the label, a neck tag or the outer box. Keep it clear of seams, folds, crimped edges and the spot where a price sticker will go.

Ink and material

  • Dark on light. Print the code in black or your darkest ink on a white or light area. A mid-tone brand colour may look dark enough and still fall under 4.5:1 contrast.
  • Kraft paper: black on a typical kraft brown (#C8A97E) is about 9.4:1 and scans well. White ink on kraft is about 2.2:1, and inverted, so it doesn’t.
  • Clear labels: the code’s background becomes whatever is in the jar, often dark honey, coffee or sauce. Ask your printer for a solid white block under the code, covering the margin too.
  • Foil, metallic ink, holographic film and gloss varnish throw light into the camera at some angles. Keep them off the code area and its margin.

Our guide to QR code colours has more contrast examples.

Required information belongs in text too

Ingredients, allergens, warnings, quantities, your business name and address, batch numbers and dates: labelling rules for food, cosmetics and many other products generally require these printed on the pack itself, not behind a code. A code can add detail, such as full sourcing, translations or a recipe, but it doesn’t replace the printed text, and not everyone can or will scan it.

If you sell through shops, they may also ask for a retail barcode with a GS1 number. A QR code from a generator doesn’t replace that barcode.

Make it in QR Island

In the QR Island studio, choose Link and paste the product address. The size hint shows the smallest safe width as you type, and Get QR code gives you the flat code to download. The free SVG scales cleanly into any label file, and the free PNG and SVG carry a small QR Island credit line. For labels without it, the Island pack (US$6.99, one-time) includes the code as print files: a 4096 px PNG, an SVG and a PDF print sheet. For a link that has to outlive several print runs, an Editable code, our dynamic code, costs US$19 a year: it prints a short qrisland.com link whose destination you can change at any time from its manage link, and it includes the Island pack.

  • QR code size for printing

    Minimum sizes, the distance ÷ 10 rule, the quiet zone and error correction, with a table of real codes.

    5 min read

  • QR code colours that still scan

    Contrast ratios with real examples, inverted codes, gradients, logos and what printing does to colour.

    5 min read

  • Static vs dynamic QR codes

    What each kind is, when you need a dynamic code, what it costs and what happens when you stop paying.

    5 min read