Free · runs in your browser · no signup

QR Code 3D Print Generator

To 3D print a QR code, turn its dark squares into raised or engraved blocks on a flat plate, then print the plate in a light colour and the code in a dark one. Type a link, text or Wi-Fi details below, set the size, and download an STL or a two-colour 3MF.

Loading the QR code generator...

How to 3D print a QR code

  1. 1

    Type what it opens

    A link, any text, or your Wi-Fi name and password (guests scan to join).

  2. 2

    Set the size

    Code width, base thickness and code height. Add a keychain hole or a label if you want one.

  3. 3

    Test-scan it

    Scan the flat code next to the 3D preview with your phone before you print.

  4. 4

    Download and print

    STL for one filament with a colour change, or the 3MF / two STLs for an AMS or MMU.

QR code STL generator settings

Every setting changes the preview right away. These are good starting points for a tag, a sign or a keychain.

Code widthSize of the square code area, border included. 40 to 80 mm suits most tags; longer links need more width.
Square sizeShown under the preview. Keep each square at 1 mm or more (1.5 mm is safer) so a 0.4 mm nozzle prints it cleanly.
BorderThe light quiet zone around the code, in squares. Scanners need it; 2 is a good minimum on a plate.
Base thicknessThe plate under the code. 1.6 to 3 mm is stiff enough for a tag or keychain.
Code heightHow far the code sticks up (Raised) or is cut in (Engraved). 0.6 to 1 mm is plenty with a colour change.
Error correctionHigher levels survive scratches and dirt but make the code denser. Medium is a good default.
StyleRaised: code on top of the plate. Engraved: the code is cut into the plate and filled by the second part, so the top is flat.
Keychain hole / labelA lug with a hole on the top edge, and a short line of text under the code, printed in the code colour.

Print tips for a QR code that scans

Common starting points for an FDM printer with a 0.4 mm nozzle; your printer may need small changes.

ColoursDark code on a light base (black on white) scans best. Low-contrast pairs often fail to scan.
Colour changeWith one filament, add a colour change (filament change / M600) at the height shown under the preview. With an AMS or MMU, load the 3MF and give each part its own filament.
Layer height0.12 to 0.16 mm keeps the square edges sharp. Make sure the code height is a whole number of layers.
Top layersUse 4 or more solid top layers so the light base around the squares is closed and even.
OrientationPrint flat on the bed, code facing up. A smooth or textured PEI sheet both work.
MaterialPLA is fine indoors. Use PETG or ASA for tags that live outside in the sun.

Print more than a flat tag

Make free lettering with the 3D text generator, or let AI build a full 3D model from a sentence or a photo, with an STL download. The AI generators use credits; this QR tool does not.

QR code 3D print FAQ

Yes, if the squares are big enough and the colours contrast. Keep each square at 1 mm or larger (the tool shows the size), print a dark code on a light base, and leave the border. Scan the flat preview with your phone before printing to check the content.
Download the STL and add a colour change in your slicer at the height shown under the preview, which is the first layer of the code. Print the base in white, then swap to black when the printer pauses. In Engraved style do the opposite: dark first, then light.
Download the 3MF (2 colours). It holds two objects, the base and the code, at the right positions. Load it into your slicer, keep them as one object with two parts if it asks, and give each part its own filament. The ZIP with two STLs works the same way.
Yes. Pick Wi-Fi, type the network name and password, turn on Keychain hole and add a label such as "Scan for Wi-Fi". Phones that scan it offer to join the network. The password is only encoded in your browser and never sent to our servers.
It depends on how much it holds. A short link fits well on a 40 to 50 mm plate; a long link or Wi-Fi details need 60 mm or more so each square stays above 1 mm. Shorter text gives a simpler code that prints and scans more easily.