How to put a QR code on a T-shirt or product label
Updated September 2026
A QR code on paper is forgiving — flat, high contrast, doesn't move. On fabric or a curved product label, it has to survive folding, washing, glare and a printer that isn't built for fine detail. Here's how to get it right.
Why fabric printing is harder than paper
Three things work against a QR code on fabric that don't apply to paper: the weave of the fabric can blur fine detail if the code is printed too small, folding and washing physically distort the pattern over time, and heat-transfer or screen-print methods don't always reproduce sharp edges the way inkjet/laser on paper does.
Go bigger and simpler than you think
For fabric, size up beyond the normal scanning-distance rule — err larger, since fabric printing loses more fine detail than paper. Use the simplest dot style (square modules, not an ornate rounded or artistic style) so there's more margin before wear or wash-fade makes it unreadable. This is not where a fancy custom style pays off.
Contrast matters even more on fabric
Fabric colour options are more limited and less predictable than "pure white paper," so keep to the highest-contrast combination realistically available — black on white or off-white is the safe choice. Avoid mid-tone garment colours as the background; a QR code printed on a colour close to its own foreground tone fails even before the fabric has been washed once.
For product labels specifically
Curved surfaces (a bottle, a jar) distort a code that's simply wrapped around them — keep the code on a flat panel of the label if at all possible, not spanning a curve. If it must wrap, size it up significantly and test-scan on the actual bottle shape before a full print run, not just on a flat proof.
For a run of many product labels, each needing a unique code (serial numbers, batch tracking), generate the whole batch at once rather than one at a time — see the bulk QR code guide.
Test before the full print run
Always scan a physical proof — not a screen preview — on the actual fabric or label stock, with the actual print method, before committing to quantity. A code that looks fine in the design tool can still fail once it's actually screen-printed or heat-pressed onto real material.