Skip to content
depthue

Free tool

QR code to STL generator

Type a link or Wi-Fi details. Download a QR code plate that prints in two colors and scans.

Runs in your browser. Nothing is uploaded.

How to use it

  1. 1Type what it opens

    A link, text, Wi-Fi login, contact card, email or phone number.

  2. 2Size the plate

    Set the plate width and thickness. Keep each module at 1 mm or more for a 0.4 mm nozzle.

  3. 3Raised or flush

    Raised code needs one filament change. A flush inlay needs an AMS, MMU or tool changer.

  4. 4Download and print

    The 3MF keeps plate and code as separate parts. The STL is one file for single-colour printing with a filament change.

To 3D print a QR code that scans, use two contrasting filaments (black code on a white plate is best), keep every module at 1 mm or more so a 0.4 mm nozzle prints clean squares, leave a plain border around the code, and switch colours exactly at the top of the plate. This generator builds the plate and the code as separate closed solids and tells you the layer to change filament on.

Raised code or flush inlay

Raised codeFlush inlay
PrinterAny single-extruder printerAMS, MMU, tool changer or IDEX
Colour changesOne, at the top of the plateEvery layer of the code
SurfaceCode stands up from the plateFlat
Default height or depth0.8 mm0.6 mm

Raised is the easy choice. The plate prints in the light colour, you change filament once, and the code prints on top in the dark colour. For a flush code, download the two-colour 3MF and assign one filament to each part in Bambu Studio, OrcaSlicer or PrusaSlicer. The inlay plate STL on its own is a debossed code, handy if you want to fill the pockets with paint.

Size it by the module

Modules are the small squares. With a 0.4 mm nozzle, squares under about 1 mm lose their corners and the code stops scanning, so the tool warns you below that. These widths include a 2-module border; the plate's own margin adds a little more.

What the code opensModules acrossCode width at 1.5 mm per module
A short link2543.5 mm
A shop link with a path3355.5 mm
A Wi-Fi login3355.5 mm
A contact card4979.5 mm

The numbers are for error correction M; Q and H add modules. The tool shows the exact version and module size as you change the content and the plate.

Change filament at the right layer

For a raised code, the change happens where the plate ends. With a 1.6 mm plate and 0.2 mm layers, the plate is layers 1 to 8 and the code starts on layer 9 at Z 1.6 mm. The tool calculates this for your thickness and layer height. In Bambu Studio, OrcaSlicer and PrusaSlicer, slice, move the layer slider in the preview to that layer and add a filament or colour change there. In Cura, the Pause at Height post-processing script does the same job. The filament swap height guide explains how slicers count layers if your first layer is a different height.

  • Print flat on the bed, code facing up.
  • Use 0.2 mm layers or finer so the code's top surface is clean.
  • Slow the top layers slightly if your printer leaves stringing between modules.
  • Check the first test with two phones before printing a batch. If it fails, make the plate wider, use a shorter link or raise the error correction one step.

Want the same code engraved instead? The QR code generator for laser engraving exports SVG, DXF and PNG at real size, and engraves the background automatically on materials that mark light.

Questions

Can you 3D print a QR code that scans?

Yes, if the colours contrast and the modules are big enough to print as clean squares. A white plate with a black code, modules of 1 mm or more with a 0.4 mm nozzle, and a clear border around the code scan reliably.

How big should a 3D printed QR code be?

Work from the module size. A short link is 25 modules across, so with 1.5 mm modules plus a 2-module border on each side it is about 44 mm wide. Longer links, Wi-Fi logins and contact cards need more modules and a bigger plate.

How do I print a two-colour QR code without an AMS?

Use the raised style and change filament once, at the top of the plate. The tool shows the exact height and layer number; add a filament or colour change at that layer in your slicer's preview, or use a pause at height script in Cura.

Raised or flush inlay: which is better?

Raised works on any printer with one filament change. A flush inlay puts both colours in the same layers, so it needs a multi-material printer, but the surface is flat and casts no shadows on the code.

Which filament colours scan best?

Dark modules on a light plate: black on white is the most reliable. Avoid silk, glitter and translucent filaments, which reflect or let light through and lower the contrast.

Can I make a QR code keychain?

Turn on the hanging hole and keep the plate wide enough that modules stay at 1 mm or more. Short links make the smallest codes, so a short domain works best on a keychain.

Read next