3D printable QR code test card

The same QR code at four sizes, 1, 1.5, 2 and 3 mm per square, as free STL files. Print them to see the smallest QR code your printer and your phone can handle before you print a real one.

We haven't printed these yet.

We checked every file in software: each one is a closed (watertight) mesh, and a top-down render of each one decodes to the right link. We have not printed or scanned them on a real printer. The print settings below are suggestions, not tested results. If you print the card, please share which sizes your phone read.

Download the STL files

Module sizeCard sizeTop viewDownloadSoftware check
1 mm33 × 33 × 3 mmTop view of the 1 mm cardSTL 330 KB PNGClosed mesh, top view decodes
1.5 mm49.5 × 49.5 × 3 mmTop view of the 1.5 mm cardSTL 330 KB PNGClosed mesh, top view decodes
2 mm66 × 66 × 3 mmTop view of the 2 mm cardSTL 330 KB PNGClosed mesh, top view decodes
3 mm99 × 99 × 3 mmTop view of the 3 mm cardSTL 330 KB PNGClosed mesh, top view decodes

Every card is one solid piece: a 2 mm base with the dark squares raised 1 mm on top (3 mm total). Each code has a 2-module border, uses error correction M and is a version 3 code (29 × 29 modules). The PNG shows what the top of the print should look like.

Suggested print settings (not tested)

Share your results

If you print the card, note your printer, nozzle size, layer height, filament (and whether it's matte or silk), and which sizes your phone's camera read. Include that when you share your print, for example as a make or remix on the model site where you post it. Results from many printers will be more useful than results from one.

How we checked the files

  1. Generated with the same STL code our 3D QR Code tool uses (base 2 mm, relief 1 mm, 2-module border, error correction M).
  2. Closed, manifold mesh: every edge belongs to exactly two triangles, one going each way, and there are no zero-area triangles. Where two raised squares touch only at a corner, they are joined by a 0.03 mm sliver so that corner edge isn't shared by four walls. We checked this in the browser and again with a separate Python script.
  3. Volume: the mesh volume matches the expected volume (base, raised squares and the corner slivers) to within 0.01 mm³. For example, 23,503 mm³ for the 3 mm card.
  4. Decodes: a top-down render of each STL (raised squares black, everything else white) decodes with jsQR to https://crispkit.app/3d-qr-code/ at 4 and 8 pixels per mm.

That proves the files are valid and the code is correct. It doesn't prove a printed copy will scan: that depends on your printer, filament, lighting and phone.

Licence

The STL and PNG files on this page are dedicated to the public domain under CC0 1.0 Universal. You can print, remix, sell and re-upload them without asking or crediting us. See LICENSE.txt. A link back is welcome but not required.

Questions

How small can you 3D print a QR code?

It depends on your nozzle, filament and phone, which is why this card exists. Our tool's rule of thumb is about 1.2 mm per square on a 0.4 mm nozzle. Print the card to find the limit on your own printer.

Do 3D printed QR codes scan?

They can, if the squares are big enough and contrast well with the base. A dark top on a light base is the usual way. We haven't printed this card ourselves yet, so we don't publish a scan result.

Can I make one with my own link?

Yes. The 3D QR Code tool makes the same kind of STL for any link or text, with the size in millimetres.

Guide: How to 3D print a QR code

Free tools for this