Why won't my 3D printed QR code scan? 9 causes and fixes

A QR code that looks perfect on screen can fail once printed. These are the real causes, most common first, and how to fix each one.

By Ángel Miguel Olortiga Ríos · Updated November 4, 2026

A phone camera reads a QR code by finding the three large corner squares and measuring the light difference between dark and light modules. Anything that reduces that contrast or distorts the modules makes it fail. Before reprinting, go through this list.

1. Low contrast between colors

The number-one cause. Gray on white, red on orange or silver on black look different to you, but the camera sees them as nearly the same. Fix: light base, dark relief. QRelieve computes contrast (WCAG-style) and warns below 3:1; aim for 7:1 or more.

2. Modules too small

With a 0.4 mm nozzle, a module under 1.5 mm prints with rounded corners and merges with its neighbors. Fix: increase the code size or shorten the link. A short link produces a 25-module code; a long one 40+ modules and needs nearly twice the size.

3. Missing quiet zone

The code needs a margin in the base color of at least 2 modules. If you trim the piece or push the code to the edge, it stops reading. QRelieve objects already include that margin; don't remove it when scaling.

4. Light code on a dark background

Many readers accept inverted QR codes, but some older phones and apps don't. If you used a black base with a white relief and it fails, swap the colors.

5. Gloss and reflections

Silk or glossy filaments reflect light and create white spots on dark modules. Fix: matte filament for the relief, or scan with the piece slightly tilted away from the light.

6. Relief too tall

Above 2 mm, side light casts shadows that darken the light modules. 1–1.2 mm is the sweet spot.

7. Squished first layers or elephant's foot

A squished base doesn't matter, but if the relief spreads out in its first layers, the light gaps between modules shrink. Check flow and calibration, and use 0.16–0.2 mm layers.

8. Logo or emoji too large

The center can be covered thanks to error correction (level H, up to 30%), but combined with small modules or borderline contrast, the problems stack up. Try without the logo to rule it out.

9. Wrong link

Sometimes the code reads but opens nothing: missing https://, a stray space or an expired link. Scan the PNG on screen before printing to confirm the destination.

Quick pre-print checklist

CheckGood value
Contrast≥ 7:1 (minimum 3:1)
Module size≥ 1.5 mm
Quiet zone≥ 2 modules
Relief height1–1.2 mm
FilamentMatte, light base + dark relief

Check my QR code in the tool →

Keep reading