Free · Private · Runs in your browser

8 common mistakes when 3D printing QR codes

A QR code that does not scan is frustrating, and it usually comes down to a handful of repeatable mistakes. Here are the eight we would check first, in roughly the order they cause trouble.

1. Encoding a very long link

A long URL needs a dense grid with small modules. On a small object this pushes the modules below what a 0.4 mm nozzle can print cleanly. Shorten the link, use a short path on your own domain, or move tracking parameters elsewhere.

2. Making the code too small

Even a perfect code fails if it is smaller than the distance requires. As a rule of thumb, width should be about one tenth of the scanning distance. See our size and contrast guide.

3. Low color contrast

Two filaments that look different can have the same lightness. Convert a photo of them to grayscale and make sure the grays are clearly different. Our guide to choosing filament colors lists pairs that work.

4. Scaling the two parts differently

With a two-part STL, resizing the base without resizing the code by exactly the same factor leaves the code misaligned or off the plate. Always scale both together, or use the 3MF, which keeps the parts together.

5. Cutting into the quiet zone

A frame, an edge or a decoration that comes too close to the code removes the margin the camera needs. Keep a clear border around the code, in the base color.

6. Glossy filament and glare

Shiny finishes can reflect lights straight into the camera. Use a matte filament for the code, and test the object under the real lighting.

7. Swapping filament on the wrong layer

On a single extruder, the pause or filament change must happen at the exact height where the code starts. Too early and the base gets the wrong color, too late and the code is partly the wrong color. Check the layer preview in your slicer and follow our STL page for the setup.

8. Not testing, and trusting a link that can die

Always print and scan one object before printing a batch. Also remember that a QR code is permanent but the page behind it is not: if the link points to a service that shuts down or a page you later delete, the object stops working. Point codes at a page on a domain you control, and keep a redirect in place if the page moves.

How to diagnose a code that will not scan

Work out whether the problem is the code or the print before changing anything. First, scan the code on your screen: if it fails there, the link or text is wrong or too long. If it scans on screen but not on the object, the print is the problem, and you can narrow it down by changing one variable at a time.

  1. Move closer and change the angle. If it scans up close, the code is too small for the distance.
  2. Change the light. If it scans in some light but not others, glare or low contrast is the cause.
  3. Try a second phone. If one phone fails and another works, the margin is thin and you should increase contrast or size.
  4. Inspect the surface. Stringing, color bleed or rounded corners on the modules point to a print-quality issue.

Fixes ranked by effort

  • No reprint needed: change the lighting, reposition the object away from windows, or add a short line of instruction beside it.
  • Quick reprint: a higher-contrast filament pair, or a matte filament for the code.
  • New design: a shorter link, a larger object or a lower error-correction level so the modules grow.

Start at the top of the list. Most failed codes are fixed by contrast and size, not by anything more exotic.

When to reprint and when to adjust

If the code scans reliably from the intended distance on two different phones, leave it alone, even if it is not perfect. If it scans only in ideal conditions, the margin is too thin for real use and a reprint with better contrast or a larger size is worth the small amount of filament. Remember that a customer will not try three times: a code should work on the first try.

Before you print the batch

Run through this list once: short link, adequate size, strong contrast, matte code, clear border, correct layer for the color change, and one successful scan test on two phones. Then design your code and print with confidence.

More guides

Design my QR code →