Two-color 3D prints without an AMS

You can print two colors on a single-extruder printer by changing filament at a set layer height: the printer pauses where the raised letters begin, you swap the filament, and everything above that layer prints in the new color. It works best on flat designs with raised text — name keychains, name plates and signs — and needs no extra hardware. Here's the whole process, from model to finished print.

Why it works

A layer-height color change splits a print horizontally: everything below the change is color one, everything above is color two. A name plate or keychain is perfect for it, because the base is a flat slab and the letters sit entirely on top of it. Swap the filament at the first layer of the letters, and the base comes out one color while the letters come out another — a clean two-tone look that's hard to tell apart from a multi-material print.

Step 1 — Make a model with raised text

Any flat model with raised lettering works. You could build one in CAD, but I made mine in 3DGEN — type the text, adjust a few sliders, and the file is ready in seconds in the browser, no CAD:

Write down the base thickness — that's the height where the color change goes. Letters of 1.5–2 mm or more give the second color enough layers to look solid.

Step 2 — Slice and find the change height

Load the STL into your slicer and slice it as usual. Drag the vertical layer slider in the preview up to the first layer of the letters — the first layer printed just above your base thickness. In the preview you'll see the base finish and the letters begin.

Step 3 — Add the filament change

Every major slicer can insert a pause or color change at that layer:

Slice again after adding the change so it's written into the G-code, then send the print.

Step 4 — Swap the filament when it pauses

  1. When the printer pauses and parks the head, unload the first filament.
  2. Load the second color.
  3. Purge until the color runs clean — the first few centimeters still contain the old color mixed in.
  4. Remove the purge blob and any string from the nozzle so it doesn't land on the print.
  5. Resume the print.

Don't touch or bump the print bed during the pause — even a small shift misaligns the letters.

Step 5 — Add a third color (optional)

Layer changes work by height, so you can stack more than one. On a keychain or name plate with a raised frame, make the frame lower than the letters — say 1 mm against 2 mm letters — and add a second change at the top of the frame. Seen from above, the frame shows the second color and the letter tops show the third. The honest catch: the lower part of the letters' sides also prints in the second color, so a thin band is visible from an angle.

If you do have an AMS or a multi-material printer

Export the 3MF instead of the STL. Both generators save the base and the letters as separate objects (and the frame as a third object when you give it its own color), so you just assign a filament to each object in the slicer — no pauses needed, and the letter sides stay one clean color.

Troubleshooting

FAQ

Can I do multicolor printing without an AMS?

Yes, as long as the colors change by height. Flat designs with raised text or a raised frame are ideal — each color change is one pause and a filament swap.

Pause or color change — which should I use?

Use whichever your slicer and printer support. A color change (M600) usually walks you through unloading and loading; a pause just stops the print and waits for you to swap and resume.

What about the letter sides?

With one change at the top of the base, the letters print fully in the second color — sides included. Only extra changes (for a third color) leave bands on the sides.

Make it with 3DGEN

Type a name and export a keychain or name plate with raised letters — STL for a filament swap, 3MF with separate parts for a multi-material printer. Free, no CAD, all in your browser.

Open the keychain generator → Open the nameplate generator →