
Rickroll QR Codes: Why the Patch on Your Jacket Does Not Scan
The patch comes back from the embroidery shop and it looks right. Three corner squares, a field of dark blocks, a gold merrowed border. Somebody points a phone at it and nothing happens. Somebody else turns the flash on, gets closer, tilts it, and half a minute later the joke is over whether or not the video ever loads.
That is the usual ending, and it has nothing to do with the joke. Encoding the link took four minutes. The patch is where it died.
The design is trivial. The manufacturing is not.
A rick roll code carries one short URL, the Rick Astley video or something that forwards to it, so the content is not the hard part. What makes these codes difficult is where they end up: stitched in thread, sprayed through a stencil, cut from vinyl, iced onto a cake. Every one of those methods produces module edges a print shop would call a defect, and a QR symbol is nothing but module edges.
So the real question is whether a grid of squares survives being made out of thread or paint. General rules live on the handmade QR codes page; this is the version for the thing you are about to order.
The destination kills more of these than the stitching does
Point the code at a video on somebody else's channel and you have built a code with an expiry date set by a stranger. Uploads get removed, channels get terminated, a rights holder blocks playback in one country and not another. Your patch then scans perfectly into a screen saying the video is unavailable, which is worse than a code that does not scan, because now it looks like you tried.
The fix is to put the durable half in your own name. Encode a path on a domain you control, put a redirect rule behind it, and when the upload disappears you edit one line instead of reordering patches. A dynamic code does the same job through somebody else's redirect, which is fine as long as you know whose. When a generator shuts down covers how to tell which one you are holding.
Where we sit in that, plainly: QRolling issues no static codes, so everything built here encodes a redirect we host. Building and styling are free and need no login, downloading needs a free account by email or Google with no card, and editing the destination afterwards plus scan analytics are the paid plan. The code resolves for as long as that redirect is live, which is the trade for being able to change where it lands. If you want a file that owes nothing to anyone, that is a static code, and goQR.me or QRCode Monkey will hand you one with no account at all.
Shorten the link, because it is the only lever you have
Every extra character pushes the symbol toward a higher version, and a higher version means more modules across the same width, so each module is smaller. A full video URL with tracking parameters can land two or three versions above a short redirect on your own domain, as the version scale sets out. On a flyer that is academic. On a patch it decides whether the thing is 8 centimetres or 14.
The other side of the trade is error correction. The four levels recover roughly 7, 15, 25 and 30 percent of a symbol's codewords at L, M, Q and H, and for thread or paint, H is the only defensible choice. The generator here renders every code at H with no way to lower it, which is convenient and removes a lever: with the level fixed, the length of what you encode is the only thing you control. The level comparison explains why that percentage is not a licence to destroy the same share of the picture.
What H does not cover is the part people miss. Reed-Solomon repairs the data region. It does not rebuild the finder patterns, the timing rows between them, or the quiet zone, so a stitched finder that comes out a stitch wide on one side is not a recoverable error. It is a code the phone never locks onto.
Embroidery: the stitch is your module, and it is a large module
The shop does not print your file, it digitises it: a person or a program converts the artwork into stitch paths, and anything finer than the stitch pitch is either dropped or rendered as a blob. Ask for the code as one solid fill running in a single direction rather than a separate satin column per module, and ask to see the stitch file before it runs.
Then do the arithmetic, the part nobody wants to hear. Treat about 3 millimetres as the smallest module you can trust in a stitched fill on tight twill, and check it against a sample from the actual shop rather than trusting the number here. A short link puts you near a 29 module symbol. Add four modules of quiet zone on each side and you have 37 modules across, which at 3 millimetres is a patch roughly 11 centimetres wide. That is a back patch. A chest patch at that module size holds almost nothing.
Four more things decide it:
- Thread sheen. Rayon is glossy and throws a highlight straight back at the camera, the same failure as gloss lamination. Use matte polyester or cotton.
- Stitch only the dark modules. Let light twill be the light field. Stitching both colours doubles the thread, puckers the panel and warps the grid.
- The border eats the quiet zone. A merrowed edge or satin outline sits exactly where the margin should be, so measure the quiet zone from the outer module to the inside edge of the border.
- Woven labels hold finer detail. If the piece has to be small, ask for a woven label instead of a patch. You trade a flatter, less tactile object for a symbol that works, and codes on fabric covers the rest.
Placement follows from the same physics. A sleeve curves, a chest panel moves with the wearer, and a flat back panel is what works, as the notes on codes on clothing go into.
Paint and vinyl
Spray paint through a stencil is a bigger problem than it looks, because a stencil cannot physically hold the isolated light areas a QR symbol is full of, and that has its own post. For a one-off jacket, a paint pen worked square by square over a printed grid beats any stencil you will cut at that scale.
Vinyl is the boring answer and the one that works. Print onto matte white vinyl and cut the outline. Do not cut the code out of dark vinyl: every isolated dark module becomes a separate piece to weed and transfer, and one landing half a millimetre out is a flipped bit. Sticker production and the notes on stickers and labels have the rest.
Set the quiet zone before you download
The standard asks for four empty modules on every side. The generator here defaults to two and gives you a slider from zero to eight, so move it to four before exporting, further if a border or seam will crowd the edge, and see what the quiet zone does for why. Send the shop a vector file, SVG or EPS, never a screenshot.
The test that saves the order
- Export at the exact final size, print it on paper, cut it out and pin it to the garment.
- Scan from where people will actually stand, further away than you think and in worse light.
- Order one sample patch before the run of a hundred, and scan that.
- Try three phones, including one that is four years old.
- Scan it while somebody is wearing it and moving, not lying flat on a table.
If a scan takes longer than about two seconds in any of those, it will fail in a bar.
Most rickroll patches are ornaments that happen to look like QR codes, which is a fine thing to own if you know it going in. If you want the joke to land: keep the link short, keep the code flat, take the 11 centimetres, and get one sample made first. Then point it at a URL you control, so the gag outlives the upload.

