Printing a QR code on a t-shirt sounds simple until you do it and realize the code does not scan. The fabric stretched. The print washed out. The code was too small. Or the contrast between the ink and the shirt was not enough for a phone camera to pick up.
I have printed QR codes on shirts for events, team merch, and client campaigns. Some worked perfectly. A few did not. This guide covers everything I learned so you can skip the test-and-fail phase and get a scannable QR code on fabric the first time.
Why Put a QR Code on a T-Shirt?
QR codes on clothing are not a gimmick. They solve a real problem: getting people from a physical interaction to a digital destination without asking them to type anything. Here are the most common reasons people print QR codes on shirts:
- Event merchandise. Concerts, conferences, and festivals print QR codes on staff or volunteer shirts that link to schedules, maps, or feedback forms. Attendees scan the shirt instead of hunting for a URL.
- Band and artist promotion. Musicians print a QR code on tour merch that links to their latest album, Spotify profile, or merch store. The shirt becomes a walking advertisement that people can interact with.
- Business networking. Instead of carrying business cards, some founders and sales reps wear shirts with a URL QR code linking to their portfolio, LinkedIn, or booking page. It works especially well at trade shows and meetups.
- Team identification. Corporate teams at hackathons, charity runs, or company offsites use QR codes on team shirts to link to a team page, leaderboard, or donation link.
- Creative fashion. Designers and artists use QR codes as a design element that also functions. The code might link to the story behind the design, an AR experience, or a hidden message.
- Marketing campaigns. Brands run street marketing with QR-coded shirts worn by brand ambassadors. The code links to a promo page, discount code, or product launch.
The common thread is that a QR code turns a passive piece of clothing into something interactive. But it only works if the code actually scans. That depends on size, print method, contrast, and fabric, all of which we cover below.
Size and Placement
This is where most people get it wrong. A QR code on a screen can be tiny because the surface is perfectly flat and backlit. Fabric is neither of those things. It wrinkles, stretches, and absorbs light.
Minimum size on clothing: 5 x 5 cm (roughly 2 x 2 inches). At this size, the code will scan if the print quality is good and the person holds their phone reasonably close. But I would not recommend going this small unless you have no choice.
Recommended size: 8 x 8 cm to 12 x 12 cm (about 3 x 3 inches to 5 x 5 inches). This range gives you reliable scanning from arm's length, which is the realistic distance someone will hold a phone when scanning your shirt. It also gives the print enough resolution to survive fabric texture and minor stretching.
Best placement: center chest. The chest area is the single best location for a scannable QR code on a shirt. The fabric sits relatively flat against the body (especially compared to the sides or back), and it faces forward, which is the natural angle for someone pointing a phone camera at you. Back placement works too, but only if someone else is doing the scanning. Sleeve placement is risky because the fabric curves and stretches around the arm.
Leave adequate space around the QR code. The quiet zone (the white border around the code) needs to be at least four modules wide. If your design crowds the QR code with other graphics or text right up to the edge, scanners will struggle to detect where the code begins and ends.
Printing Methods Compared
Not every print method handles QR codes equally. The sharp edges and precise spacing that QR codes require are more demanding than a typical graphic print. Here is how the four main methods compare.
1. DTG (Direct to Garment)
DTG printing uses inkjet technology to spray ink directly onto the fabric. It is the best option for QR codes in most situations. DTG handles fine detail well, works on both white and dark fabrics (with a white base layer), and is cost-effective for small batches since there is no setup cost per design. Supply your QR code as a high-resolution PNG (at least 1000 x 1000 pixels). The printer will reproduce the pixel grid faithfully. DTG is what I recommend if you are printing fewer than 50 shirts.
2. Screen Printing
Screen printing pushes ink through a mesh stencil onto the shirt. It produces extremely crisp, opaque results and is the most cost-effective method for large batches (100+ shirts). Since QR codes are a single color, screen printing only requires one screen, which keeps costs low. The ink sits on top of the fabric rather than absorbing into it, which helps maintain sharp edges. Supply your QR code as an SVG file so the printer can create a clean screen at any size. Screen printing is the go-to for event merch runs.
3. Heat Transfer Vinyl (HTV)
HTV involves cutting a design from a sheet of colored vinyl using a vinyl cutter, then pressing the cut pieces onto the shirt with a heat press. It is ideal for one-offs and very small batches because there is no minimum order. The result has clean, sharp edges since the vinyl is machine-cut. Supply your QR code as an SVG file because the vinyl cutter needs vector paths to follow. HTV works well for QR codes, but keep in mind that the vinyl adds a slightly raised, smooth texture to the shirt. This is actually an advantage for scannability since the QR code sits above the fabric texture.
4. Sublimation
Sublimation uses heat to transfer dye into the fabric at a molecular level. The result is extremely durable and will not crack, peel, or fade. However, sublimation only works on polyester or polyester-coated fabrics, and it works best on white or very light-colored garments. If you are printing on white polyester performance shirts (like event race shirts or team jerseys), sublimation produces the sharpest, most long-lasting QR code of any method. The colors are vivid and the detail is excellent. Supply as a high-resolution PNG.
Color and Contrast Rules
QR code scanners work by detecting the contrast between the dark modules and the light background. On a screen, this is trivial. On fabric, you need to think about it.
- Black QR code on a white or light-colored shirt is the safest combination. It works with every scanner, every phone, every lighting condition. If scannability is your top priority, go with this.
- White QR code on a black or dark shirt works on most modern phones. I have tested this on recent iPhones and Android devices and it scans fine. That said, some older phone cameras and third-party scanner apps struggle with inverted QR codes. Test on a few devices before committing to a large print run.
- Colored QR code on a colored shirt is where things get risky. A navy blue QR code on a medium blue shirt will not have enough contrast. A red QR code on a black shirt might look cool but could fail to scan in dim lighting. If you want color, keep the contrast ratio high.
- White rectangle behind the QR code on dark shirts. This is the safest approach for dark fabrics. Print a white square first, then print the black QR code on top of it. You get the reliable black-on-white scanning with whatever shirt color you want. Most DTG printers do this by default when printing on dark garments.
When in doubt, stick to high contrast. A QR code that looks aesthetically perfect but does not scan is useless. For more on this, see our guide on fixing blurry and unscannable QR codes.
Fabric Considerations
Fabric texture affects scannability more than most people expect. The surface the QR code sits on matters because phone cameras need to read a flat, consistent pattern.
Flat weave fabrics scan best. Standard cotton jersey (the fabric most t-shirts are made from) works well. The weave is tight and relatively smooth, so the printed QR code retains its shape. Polyester performance fabrics are even better because they have an extremely smooth, uniform surface.
Textured and ribbed fabrics are problematic. Waffle knit, pique polo fabric, ribbed cotton, and heavily textured athletic wear all create tiny shadows and distortions across the printed QR code. These micro-distortions may not be visible to your eye, but they can confuse a phone camera, especially in low light.
Stretching distorts the code. When fabric stretches, the QR code stretches with it. A QR code on the side of a fitted shirt will warp as the wearer moves. Chest placement minimizes this because the chest area stays relatively flat during normal movement. Avoid printing QR codes on areas that stretch significantly: the sides of the torso, across the shoulders, or on tight-fitting sleeves.
Error Correction Level
Every QR code has a built-in error correction level that determines how much of the code can be damaged or obscured while still scanning. There are four levels: Low (7%), Medium (15%), Quartile (25%), and High (30%).
For t-shirt printing, always use High (H). Fabric introduces several factors that degrade the QR pattern over time: the texture of the weave slightly distorts individual modules, wrinkles and folds obscure parts of the code, and repeated washing gradually wears down the print. High error correction means 30% of the code can be unreadable and it will still scan. This gives you a significant margin of safety.
The trade-off is that High error correction produces a denser QR code (more modules). That is why sizing matters. A dense QR code at 5 cm might be too tight for fabric, but at 10 cm it scans reliably. When you generate your QR code, select the High error correction option before downloading.
Which File Format to Use
The right file format depends on your printing method:
- SVG (vector) for screen printing and heat transfer vinyl. Vector files scale to any size without quality loss. The vinyl cutter needs vector paths, and the screen printer needs clean edges at production size. SVG is the right choice here.
- High-resolution PNG (raster) for DTG and sublimation. These methods use inkjet-style printing that works with raster images. Export your QR code at a minimum of 1000 x 1000 pixels. Larger is better. Do not download a small PNG and then scale it up in Photoshop, that is how you get blurry QR codes that fail to scan.
Our free QR code generator exports in both PNG and SVG, so you are covered regardless of your print method. Generate the code, choose your format, and hand the file to your printer.
Wash Durability
A QR code that scans fresh off the press but fails after three washes is not useful. Here is how each print method holds up over time:
- Sublimation: Most durable. The dye becomes part of the fabric, so it will not crack, peel, or fade. It lasts the lifetime of the garment. If you are printing on polyester, this is the winner for longevity.
- DTG: Very durable when properly cured. Modern DTG inks are designed to withstand machine washing. You can expect the print to hold up for 50+ washes with proper care (wash inside out, avoid high heat drying). The QR code may soften slightly over time but remains scannable.
- Screen printing: Holds up well. Screen print ink is thick and sits on top of the fabric, so it resists abrasion. Properly cured screen prints last for years. QR codes remain crisp through many wash cycles.
- Heat transfer vinyl: The weakest option for long-term wear. HTV adheres to the fabric surface and can begin peeling at the edges after 20-30 washes, especially if exposed to high dryer heat. Follow the care instructions carefully: wash inside out, tumble dry low, do not iron over the vinyl. For shirts that will be worn and washed regularly, HTV is not the best choice. For event-day shirts or limited-use garments, it works fine.
Test Before Bulk Printing
This is the single most important step and the one that gets skipped most often. Always print one test shirt before committing to a full batch.
Print the test shirt using the exact same method, fabric, and ink you plan to use for the full run. Then test the QR code by scanning it with at least two different phones (one iPhone, one Android) from arm's length distance, roughly 30 to 50 cm. Scan it in different lighting conditions: bright daylight, indoor fluorescent, and dim evening light. If it scans reliably in all three, you are good to go.
If the test shirt does not scan, check these things in order: contrast (is there enough?), size (is it too small?), error correction (is it set to High?), and fabric texture (is the weave too rough?). Fix the issue, print another test, and try again. One wasted test shirt costs a few dollars. A failed batch of 200 shirts costs a lot more.
For t-shirt QR codes that link to a URL, consider using a dynamic QR code from ElkQR so you can change the destination after the shirts are printed. If your event landing page URL changes or you want to redirect to a different page after the event, you can update the link without reprinting anything. Dynamic QR codes also give you scan analytics, so you can see exactly how many people scanned your shirts and when.
If you just need a straightforward static QR code for your shirt, our free QR code generator will get you there in under a minute. Generate it, download as SVG or PNG depending on your print method, set error correction to High, and hand the file to your printer. Follow the sizing, contrast, and fabric guidelines in this article, and you will have shirts that scan every time.
For a deeper walkthrough on creating QR codes and choosing the right settings, check out our complete QR code creation guide.