QR3D Craft

How to test the code before printing the batch

By · 7 min read · Updated 26 October 2026

Leer en español

Nearly every batch that goes wrong could have been saved by a thirty-second test done beforehand. The problem is not that people do not test: it is that they test what already works, in the wrong place. These are the four tests that matter, in the order they have to be done.

Why the order matters

Each of these four tests catches a different kind of failure, and none of them catches the others. Scanning the code on a screen tells you nothing about whether the modules are too small for your nozzle. Printing a perfect piece tells you nothing about whether the link goes where you think it does.

And they are in this order for a very specific reason: what each failure costs if you find it late. A mistyped link caught on screen costs nothing. The same link caught after printing twenty keychains costs the spool, the hours, and having to ask people to throw away what you gave them.

The four tests ordered by what each failure costsStep 1, The link, on screen: catches a mistyped link, a number with no country code, a page that no longer exists; a failure reaching this far costs nothing. Step 2, The real size, on screen: catches modules too small for that piece; a failure reaching this far costs nothing. Step 3, One single printed piece: catches a thick nozzle, low contrast, a colour change at the wrong time; a failure reaching this far costs one piece. Step 4, The piece where it lives: catches light, glare, distance, angle, who is going to see it; a failure reaching this far costs the batch.The bars are what the failure costs if you find it at that step and not before.1The link,on screencatchesmistyped link,number with nocountry code,dead pagenothing2The real size,on screencatchesmodulestoo smallfor thatpiecenothing3One singleprinted piececatchesthick nozzle,low contrast,colour changeat the wrong timeone piece4The piecewhere it livescatcheslight, glare,distance,angle, whowill see itthe batch
Each test catches failures no other one catches, and they are in this order by what it costs to find the problem at each stage. The first two are free and happen on screen; the last is the only one that sees the light of the real place.

The rule, then, is simple: do not move to the next test until the previous one is clean, and do not print the batch until all four have passed.

Test 1: the link, on screen

Generate the code, download the PNG and scan it off the screen. Before thinking about millimetres, filament or pieces.

This catches everything that is a typing mistake, which is the most common family of failures and the most foolish:

Use a phone that is not yours. We say it in every guide and this is where it is worth explaining why. Your phone is already signed in to your own site, already knows your Wi-Fi and already has your number in its contacts: it will show you a screen that looks right even if the code leads somewhere a stranger cannot get into. And there is a more human reason: you know what it should say, so you accept whatever nearly matches.

And do not accept the preview: follow the link all the way. Make it open the real page, make it load, make it be the one you wanted. A code can read perfectly and lead to a 404.

Test 2: the real size, on screen

This is the one almost nobody does, and the one that saves the most plastic.

The idea is to show the phone the code at the exact size the printed piece will be, while it is still on the screen. That way you find out whether the code is readable at that size before spending a gram.

  1. Open the PNG on a computer and zoom in.
  2. Hold a ruler against the screen and adjust the zoom until the black square measures exactly what the piece will measure: 40 mm for a keychain, 90 for a plate.
  3. Step back to the distance it will be read from and scan.

If at that size the phone hesitates or fails, you already know the piece will not read either, and you have not switched the printer on. What to do then is one of two things: shorten the link, or make the piece bigger. Both sums are in the link guide (in Spanish) and in the minimum size guide.

What this test does not catch: a screen has perfect contrast and no relief, so a code that passes here can still fail in plastic. That is why there is a test 3.

Test 3: one single piece

Now, print one. Just one, with the filament you are going to use, with your nozzle and with your profile.

This test catches what belongs to printing:

Scan the piece fresh off the bed, with the same borrowed phone, and do it from three angles: head on, from above and from the side. A code that only reads head on will fail half the time in the real world.

Test 4: the piece where it will live

The last one, and the one most people skip because it feels finished already. Take the piece you have just printed and carry it to where it is going to live. The table in the restaurant, the shop window, the workshop wall, the keychain in somebody's pocket.

What only shows up here:

If something fails here, it is almost never fixed by changing the code: it is fixed by moving the piece, changing where it goes, or making it bigger. The guide to why it does not scan goes case by case.

Write down what worked

When all four tests are clean, before launching the batch, write down the configuration. A four-line note is enough:

It is good for two things. The first is being able to repeat the batch in six months without guessing all over again. The second, more useful than it sounds: when something fails in the future, you will be able to compare against a configuration you know worked, instead of starting from scratch.

And from there, the batch. How many pieces fit on the plate, how long it takes and what order to put them in is in the batch guide (in Spanish).

Start with test 1

Generate the code, download the PNG and scan it off the screen with somebody else's phone. It is free and it catches half the possible failures.

Open the generator

Keep reading