How to print a QR code on a shirt that still scans after 50 washes
A printed QR code fails in two ways: it never scans well, or it scans for a month and then dies in the wash. Both failures are decided before the shirt is printed. These are the rules Scanworn's own print check enforces on every design, and they hold for any shirt you print yourself.
Bigger modules, not just a bigger code
A QR code is a grid of squares called modules, and what matters is the size of each module on the fabric: below about 0.7 mm wide, phone cameras start guessing. Scanworn prints run from 2 inches wide on a small tee to 4 inches on a hoodie, and a short code at those sizes puts each module at roughly 1.2 mm or more — near double the minimum. Two habits follow. Print at least 2 inches wide. And keep the code's address short: fewer modules in the same space means bigger modules. A shirt should carry a short link like scanworn.com/yourname, never a long tracking URL.
Contrast is the whole game
A scanner reads the difference between dark and light, not the design. Scanworn requires at least a 3:1 contrast ratio between the ink and the fabric under it, and black on white — about 21:1 — is the standard to aim at. Pastel on pastel, tone-on-tone, and metallic or glitter inks either fail on day one or fade into failure. On a dark shirt, print light ink and check the ratio in that direction. Whatever you choose, start with headroom: washing spends contrast, so a code that barely passes new will not pass at wash thirty.
Protect the quiet zone
Every QR code needs a blank border — the quiet zone — of four modules on every side. Keep seams, pockets, text, and artwork out of it. A code crowded by a design scans when it feels like it, and a code whose border is clipped by a seam may not scan at all. Treat the quiet zone as part of the code: nothing prints there, ever.
Print on the calm part of the shirt
Place the code on the chest or upper back, away from seams, folds, and the stretchiest panels. Fabric moves more than you think: Scanworn's checker stretches every design 10% wider and 6% shorter and still demands a clean decode. A code printed across a ribbed or high-stretch zone has to pass that test every time the shirt is worn, pulled on, and washed.
Error correction is your wash budget
Scanworn codes are generated at error-correction level H, the strongest setting: roughly 30% of the code can be faded, cracked, or covered and it still decodes. That reserve is what fifty washes spend. If you make codes elsewhere, choose level H (sometimes labelled 30%) and resist trading it away to fit more text into the code — the text belongs in the link, not the print.
Wash like you mean it
- Turn the shirt inside out before it goes in the machine.
- Cold water, mild detergent, no bleach.
- Tumble dry low, or hang it up.
- Never iron directly on the print.
Fading squeezes a print's contrast toward grey. Scanworn simulates exactly that — a darker, washed-out version of your design — and a passing design still decodes after the squeeze. Care like this is how the real shirt keeps up with the simulation.
Check before you print, not after
Every Scanworn design is rendered exactly as it will print and decode-tested at each garment's real print resolution: as printed, from a distance, in dim light, stretched, and tilted at an angle. It earns a score from 0 to 100; a design that cannot decode fresh off the press is capped at 20; and a design that fails is refused at order, because nobody should pay for a shirt that does not scan. Printing your own? Hold yourself to the same bar: print one, wash it five times, then scan it before you commit to a run. The print method matters too — see iron-on vs DTG vs screen print for QR codes. And when the shirt is a Scanworn, a changed link is never a reprint: the QR code on your shirt stays put while the page behind it swaps.
Make your own
Scanworn puts a QR code on your shirt and lets you change what it shows anytime, with no reprint — and every design is rendered and decode-tested the way these guides describe before it can be ordered. Get the app and make your own QR code shirt.
Join the list