QR Codes on Curved Surfaces: How to Make Them Scan on Bottles, Cans and Tubes

A QR code that scans perfectly on a flat proof can struggle once it's wrapped around a bottle, a can, a candle jar or a cosmetic tube. Nothing is wrong with the code itself; the shape of the object changes what the phone camera sees.

This guide explains what goes wrong, gives you simple math to size a code for a curved surface, and lists the practical fixes that make the biggest difference.

Why curves cause trouble

A QR code is a grid of square modules, and a scanner expects them to be evenly spaced. When you wrap a flat code around a cylinder:

The curve only bends the code in one direction. On a standing bottle, the code still looks normal vertically; only its width is distorted.

The key number: code width vs diameter

How much a code is distorted depends on one ratio: the printed code width divided by the object's diameter. Measure the code's full width, including its quiet zone.

When a code of width w is wrapped around a cylinder of diameter d, each edge sits at an angle of w ÷ d radians from the center line (multiply by about 57.3 to get degrees). The modules at the edge look narrower by a factor equal to the cosine of that angle.

Here's what that works out to:

Code width ÷ diameterEdge angle from centerEdge modules appearShare of the circumference
0.2about 11°98% of true widthabout 6%
0.3about 17°96%about 10%
0.4about 23°92%about 13%
0.5about 29°88%about 16%
0.6about 34°83%about 19%
0.8about 46°70%about 25%
1.0about 57°54%about 32%

Distortion grows quickly as the code gets wider. At half the diameter, the edge modules are about 12% narrower than the center ones. When the code is as wide as the diameter, the edge modules look roughly half their true width.

There's no single official limit, and phones vary. But a conservative starting point is to keep the code no wider than about half the diameter, then test. If you must go wider, test more carefully.

Make a free QR code for a link, WiFi or contact card — generated in your browser.

Open the free QR code generator →

Worked example: a 60 mm bottle

Say your bottle is 60 mm across. Its circumference is π × 60 ≈ 188 mm.

Code widthWidth ÷ diameterEdge angleEdge modules appear
25 mm0.42about 24°about 91%
30 mm0.50about 29°about 88%
40 mm0.67about 38°about 79%
50 mm0.83about 48°about 67%

Using the half-diameter starting point, a code around 30 mm wide, including quiet zone, is a sensible first proof for this bottle. A 50 mm code would wrap more than a quarter of the way around, and its edges would look about a third narrower than they really are.

Make every module count

On a small curved surface you can't just make the code bigger, so make the code simpler instead. A QR code with fewer modules has larger modules at the same printed size, which helps the scanner cope with distortion.

Also check the module size isn't too small for the scanning distance; our minimum QR code size guide covers that.

Placement tips

Finish, color and material

Test on the real object

A flat paper printout tells you little about how the code behaves on a bottle. Before a print run:

  1. Print a proof at actual size and wrap it around the real container, or get a physical sample from your printer.
  2. Scan with several phones, including an older one, using the default camera app.
  3. Try real conditions: store-style lighting, a slight angle, an arm's length away, and with the product held in a hand.
  4. Rotate the product so the code is slightly off-center, as it often will be on a shelf.
  5. Check the destination loads correctly on mobile.

If scanning is slow or unreliable, reduce the width-to-diameter ratio, shorten the link or move the code to a flatter area. QR code not scanning lists other common causes.

For broader advice on boxes, bags and labels, see QR codes on packaging and QR codes on stickers.

Frequently asked questions

Can you put a QR code on a curved surface?

Yes. Keep the code narrow relative to the object's diameter, use a short link so modules stay large, keep a full quiet zone, reduce glare and test on the real object before printing in bulk.

How big can a QR code be on a bottle?

It depends on the bottle's diameter. A conservative starting point is a code no wider than about half the diameter, including the quiet zone. On a 60 mm bottle, that's about 30 mm. Test proofs to confirm.

Why won't my QR code scan on a can?

Common causes are a code that wraps too far around the can, a shiny surface creating glare, low contrast against metallic ink, or modules that are too small. Try a narrower code, a matte finish or a white background panel behind the code.

Does higher error correction help on curved surfaces?

It helps with damage and dirt, but it adds modules, making each one smaller at the same print size. On a small curved label, a shorter link and slightly lower error correction can scan better. Always test.

Is it better to put the QR code on the lid?

If the lid has a flat top big enough for the code, yes: a flat surface avoids curve distortion completely. Make sure the lid isn't easily separated from the product, if the code needs to stay with it.

Make a free QR code for a link, WiFi or contact card — generated in your browser.

Open the free QR code generator →

Keep reading