QR Forge
3D-printable QR codes, made in your browser
Free · No sign-up

How to 3D Print a Two-Color QR Code (Step by Step)

A 3D printed QR code is just two layers of plastic in two colors — but the details decide whether a phone camera can read it. Here's the full workflow, from the link you want to share to a finished part on your counter.

Updated October 12, 2026 · 5 min read

A printed QR code works because a phone camera can tell the dark squares (called modules) apart from the light background. On paper that's easy: black ink on white stock. On a 3D print you have to create that contrast with plastic, which means two filament colors, clean edges, and modules large enough for your nozzle to draw accurately. Get those three things right and a 3D printed code scans just as fast as a sticker, and it lasts years longer.

This guide walks through the whole process using the free QR Forge generator, but the principles apply no matter which tool or printer you use.

Step 1: Decide what the code should open

Before you touch a slicer, settle on the destination. The most common choices are a menu PDF, a Google review page, an Instagram profile, a booking page, or Wi-Fi login details. Two tips save headaches later:

  • Shorter is better. Every extra character in the link adds modules to the code. A longer link means a denser grid, which means smaller squares on the same size object. If your link is long (Google review links often are), use the shortest official version you can, or a short link on your own domain.
  • Point at something you control. A printed code is permanent. If you link to yoursite.com/menu instead of a file-sharing link, you can update the menu next season without reprinting anything.

If you're making a Wi-Fi code, choose the Wi-Fi tab instead and enter the network name, password and security type. The phone will join the network directly, without opening a web page. Our Wi-Fi plaque guide covers that case in detail.

Step 2: Style the code — but keep contrast first

You can change the dot style (square, rounded or dots) and add a logo or emoji in the center. QR codes include error correction, so a small graphic in the middle won't stop the code from scanning. Keep it modest: the more of the pattern you cover, the less margin you have for print defects.

The setting that matters most is color. For the on-screen preview and the PNG/SVG downloads, dark modules on a light background is the classic, safest combination. The tool shows a contrast badge on the preview and warns you if the two colors are too similar. For the 3D print, the colors you'll actually see are your two filaments, which you set separately in the 3D Object tab. We cover the best pairings in Best filament colors for scannable QR codes.

Step 3: Pick the object

Switch to the 3D Object tab and choose one of three shapes:

  • Tabletop stand — an angled sign that sits on a table or counter. Best for menus, reviews and checkout counters.
  • Keychain — small, with a hole for a ring. Good for event favors and personal links. Because it's small, keep the link short.
  • Wall plaque — flat, for mounting by a door or on a wall. Ideal for Wi-Fi details in rentals and offices.

You can add up to 24 characters of text, such as your business name, and an optional emoji. Capital letters print more cleanly than lowercase at small sizes because they have fewer thin strokes and tight curves. Watch the estimated size line under the settings — it tells you how big the finished part will be, which affects how far away people can scan it from. See What size should a 3D printed QR code be? for the numbers.

Step 4: Download the right file

Switch the preview to 3D — 3MF / STL, rotate the model to check it, then download:

  • 3MF (color-ready) — the base plate and the raised QR pattern come in as separate parts, already split for two colors. This is the file most people want.
  • STL (single color) — one merged shape with no color information. Use this if your slicer is old or you plan to paint the raised parts by hand.

Not sure which to pick? 3MF vs STL explains the difference.

Step 5: Slice with two colors

Open the 3MF in your slicer. Bambu Studio, Orca Slicer and PrusaSlicer will import the file as one object made of two parts. Assign your dark filament to one part and your light filament to the other.

How the color change actually happens depends on your printer:

  • Multi-material system (an AMS, MMU or similar): the printer swaps filament automatically. Just assign the two parts to two slots.
  • Single nozzle, no changer: you insert a pause or filament-change command at the layer where the raised pattern begins. The printer stops, you swap filament, and it carries on. This works surprisingly well for QR codes because there's only one color change in the whole print. Step-by-step instructions are in How to add a filament change pause.

A few slicer settings that help QR codes in particular:

  • Layer height: 0.2 mm is fine for most codes. The color change only needs to land cleanly between layers; finer layers mostly add print time.
  • First layer: slow it down and make sure the bed is level. A flat-on-the-bed plaque shows every first-layer flaw on its face.
  • Ironing (if your slicer has it): ironing the top surface of the raised modules gives a smoother face and slightly cleaner color edges. It's optional.
  • Wipe tower / purge: with a multi-material system, keep the default purge settings. Under-purging leaves streaks of the old color in the new one, which hurts contrast.

Step 6: Test before you print a batch

Before you commit to twenty table stands, check the design twice:

  1. Scan the screen. Point your phone at the 2D preview on your monitor and confirm it opens the right link.
  2. Print one. Print a single part, let it cool, and scan it from the distance your customers will — not with the phone held two inches away. Try it in the actual lighting too: a dim restaurant or a sunny window both behave differently from your workshop.

If the test print won't scan, the cause is almost always one of a short list: low contrast, modules too small for the nozzle, stringing between modules, or glare. Why won't my 3D printed QR code scan? walks through each fix.

Quick checklist

  • Short, permanent link you control
  • High-contrast filament pair (dark on light is safest)
  • Object large enough for the scan distance
  • 3MF imported with the two parts assigned to two colors
  • One test print scanned from real distance, in real light

That's the whole workflow. Once the first one works, every later print is just a matter of changing the link and pressing print again.

Ready to make one? The generator is free and runs in your browser.

Open the QR generator