Published on 8/6/2026
QR Codes on Metal, Wood, Fabric and Curved Things
Almost everything written about QR codes assumes paper. But codes end up laser-marked on a machine plate, engraved into a wooden gift, embroidered on a cap, printed on a curved can, cut from vinyl on a van. Those are different problems, and they share one number.
The module is the unit
A QR code is a grid of small squares called modules. Everything a scanner does starts with telling one module from its neighbour. So the useful question is never "how big is the code" — it is how big is one module, and can this process hold it.
Two consequences follow immediately, and they explain most field failures:
- More data means smaller modules at the same overall size. A long URL packs more modules into the same square. On a difficult surface, shortening the link is a physical improvement, not a cosmetic one — which is one practical reason to put a short dynamic link on the object rather than a long destination.
- Every process has a smallest mark it can make cleanly. An engraver's spot, a needle's stitch, a cutter's blade width. If the module is near that limit, the code degrades from the edges of every square inward.
Metal: laser marking, etching, engraving
The thing that catches people out on metal is polarity. A scanner expects dark modules on a light background; the reverse works on most readers but not all, and it is worth knowing which one you are making:
- Laser on bare steel usually darkens the marked area — dark modules on bright metal, the normal way round.
- Laser on anodised aluminium removes the coloured coating and exposes bright metal underneath — on a black anodised plate that is light modules on a dark background, i.e. inverted. Some readers refuse it. If the part allows, mark a light rectangle first and put a dark code inside it.
The second issue is glare. Bare metal is a mirror, and a mirror under a workshop light throws the lamp straight into the camera. Bead-blasting or a matte pass around the code costs nothing at marking time and rescues the scan.
The third is life. A plate that will be wiped with solvent, handled with gloves or exposed to weather should carry a deeper mark than one on a display piece. Marks polish away.
Wood
Wood burns unevenly because grain is not uniform: soft early wood chars faster than hard late wood, so a code engraved across strong grain comes out with stripes of different darkness. Two habits fix most of it — orient the code so the grain runs diagonally rather than along the module rows, and prefer close-grained species for small codes. On oak and pine, go bigger than you think.
Fabric, embroidery and print
Textile is the least forgiving surface, for reasons that have nothing to do with resolution:
- Thread is round and a module is square. Embroidery rounds every corner, and at small sizes the corners are where a module's identity lives. Embroidered codes need to be generously large — this is the one place where "make it much bigger than feels sensible" is the whole advice.
- Fabric moves. A code on a t-shirt chest distorts with the wearer, and a distorted grid is a failed scan. Put codes on the flat, tensioned places: a bag panel, a cap front, a label, a banner hem — not across a stretching knit.
- Washing. Screen print cracks, transfers lift. If the code has to survive laundry, a woven label is more reliable than a print.
Curved surfaces: bottles, cans, tubes, pens
Curvature does two things at once: the far side of the code turns away from the lens, and the modules near the edge compress. The narrower the object, the more of the code is affected.
Practical rules that hold up:
- Keep the code narrow relative to the diameter. A code that wraps a noticeable part of the way around a slim bottle will not read reliably at any size.
- Centre it on the face turned toward the customer, not near the turn, and orient the grid so the wrap direction crosses fewer modules.
- On very narrow items — a pen, a cable, a slim tube — accept that a code is the wrong tool and put it on the packaging or a hang tag instead.
Vinyl, windows and vehicles
- Cut vinyl has a blade radius, so tiny modules come out with rounded corners much as embroidery does. For cut vinyl, print-and-cut beats a cut-out code.
- Glass reflects and has a second surface. A code on the inside of a shop window is read through glass at an angle, and shop lighting sits behind the customer. Matte film, and check it at the hour the shop is actually busy.
- Vehicles curve and move. A code on a moving van is decorative; put it on the parked-and-read surfaces — rear doors, the panel people stand beside.
- Sun. Cyan and magenta fade before black does. Outdoors, a plain dark code on white outlives a branded gradient by years, and UV-rated laminate is the difference between one season and five.
What our editor can and cannot check
Design-time checking catches the errors that are visible in the file: contrast between modules and background measured by luminance rather than colour, both ends of a gradient, the finder patterns in the corners, and a logo weighed against the error-correction level. Those are real and they catch a lot.
What no software can check is the object. Ink spread on cardboard, a laser's kerf, a needle's minimum stitch, the way a bottle curves — those exist only in the physical world. Export SVG rather than PNG so the printer or the laser gets clean vectors at any size, then make one sample and scan it: cheap phone, bad light, arm's length, at the angle a real person will hold it.
Quick answers
- What decides whether a code survives a process? The size of a single module against the smallest mark the process can make cleanly.
- Does a shorter link help? Yes — fewer modules at the same size means each module is bigger. A short dynamic link is genuinely easier to mark.
- Are inverted codes a problem? Light-on-dark reads on most scanners and not all. On anodised aluminium you get it by accident, so plan for it.
- Can I embroider a QR code? Yes, generously large and on a flat, tensioned panel.
- Why does my code fail on a bottle? Curvature turns the far edge away from the lens. Keep the code narrow relative to the diameter, centred on the flat-facing side.
- PNG or SVG for production? SVG. It scales without softening, which is exactly what an engraver or a plotter needs.