QR Codes on Bottles, Cans, and Other Curves
A QR code is designed to be flat. Wrapped around a cylinder, its outer modules tilt away from the camera, shrink in perspective, and fall into shadow, while the code's own geometry assumes a perfect square grid. A small code on a large bottle is barely affected. A large code on a narrow bottle is a different story: the edges wrap so far around the curve that the scanner sees a distorted trapezoid instead of a square. The calculator turns that intuition into a number by limiting how many degrees of the cylinder the code is allowed to wrap.
The wrap-angle idea
Think of the code as an arc on the cylinder's circumference. A 45° wrap means the code spans an eighth of the way around the container — the edges tilt 22.5° from the centre line, which most scanners handle. At 60° the edges tilt 30°, and reliability starts to depend on the phone, the light, and the exact payload. Beyond that, the outer modules are so foreshortened that decoding becomes a lottery. These limits are planning rules of thumb, not guarantees, and they assume the code is viewed roughly face-on. If customers will scan from below, above, or at an angle — as they often do with bottles on a shelf — the effective distortion is worse, and a smaller code is the safe choice.
Design choices that help
Short payloads help twice over: they produce lower-version codes with larger modules, and larger modules survive foreshortening better. A short redirect URL is the single best move for a curved-surface code. High contrast matters more than usual, because the curved edges also catch glare and shadow; black on white beats any coloured treatment here. Keep the code away from shoulders, tapers, and seams where the curvature changes, and never let it cross a ridge or an embossed logo. On very small diameters, consider moving the code to a flat part of the packaging — a neck tag, a cap label, or a flat side panel — instead of fighting the curve.
Testing on the real container
- Print at final size, apply to the real container, and scan it while the container sits on a shelf at normal height.
- Test on several phones, including an older one, and in store lighting as well as daylight.
- Rotate the container a few degrees each way — customers will not align it perfectly.
- Test with condensation, since cold bottles fog and bead with water.
- If any test is flaky, shrink the code or move it to a flat area rather than hoping customers hold it better.
Curved surfaces reward restraint. A modest code that scans every time is worth far more than an ambitious one that scans sometimes.
