How to pause a 3D print at a layer to change filament

You don't need an AMS or a multi-material unit to print in two colors. Add a pause at the layer where the color changes, swap the filament when the printer stops, and resume. It works on any single-extruder printer.

Updated . Menu names checked against each slicer's current release.

Step-by-step for your slicer

How it works, in any slicer

  1. Slice the model and open the preview.
  2. Move the layer slider to the first layer that should print in the new color.
  3. Add a pause (or a filament change) at that layer, then slice again if the slicer asks.
  4. Start the print with the first color loaded.
  5. When the printer stops, unload the old filament, load the new color, and purge until it runs clean.
  6. Pull the purged strand off the nozzle and resume.

Which layer to pause at

Pick the first layer of the new color. Slicers insert the pause at the start of the layer you select, so everything below it prints in the old color and everything from that layer up prints in the new one.

Side view of a sign: the base prints in filament 1, the pause comes before the first layer of letters, and the letters print in filament 2.Pause hereLayer 16 (3.20 mm): firstlayer of letters, filament 2Layers 1–15 (to 3.00 mm):base, filament 1
A sign with a 3 mm base at 0.2 mm layers. Select layer 16, the first layer of letters, and add the pause there: the printer stops after the base is done and before the letters start.

The layer slider labels each layer with the height of its top. If a sign's base is 3 mm tall at 0.2 mm layers, the base ends on layer 15 at 3.00 mm, so the pause goes on layer 16 at 3.20 mm. If your slicer uses a thicker first layer, count from the height rather than the layer number: pause on the first layer above the color-change height.

In Cura, Pause at height is the odd one out: it wants the last layer of the old color. See the Cura guide.

Pause or filament change (M600)?

Slicers can insert two kinds of stop, and printers support different ones:

CommandWhat the printer doesPrinters
M600Parks, unloads, asks for the new filament, loads and purges itPrusa, Elegoo Neptune 4, Anycubic Kobra 3, Marlin printers with filament change enabled
PAUSEParks and waits; you change filament from the screenKlipper: Creality K1 and K2, Qidi, Voron
M400 U1Pauses; unload and load from the screenBambu Lab
M601, M0, M25Plain pause until you resumePrusa (M601), Anycubic (M601), Marlin (M0, M25)

In OrcaSlicer and the slicers built on it, Add Pause sends whatever is in the printer profile's Pause G-code. If that's empty, the printer won't stop.

Swapping the filament cleanly

  • Stay close when the pause is due. A print left waiting cools down, and a long wait can leave a faint line or let the corners lift.
  • Check the nozzle is hot before pulling filament. Some printers (Creality K1C, Qidi Q1 Pro) cool or switch off the hotend while paused.
  • Purge until the new color comes out with no streaks of the old one. Light colors after dark ones need more.
  • Pull the purged strand off the nozzle with tweezers before resuming, without touching the print.
  • Keep both filaments the same material (PLA to PLA). The print temperature was set for the first one.
  • Avoid pausing in the first two or three layers, where the print is most likely to lift while it waits.

Common questions

How do I change filament color mid-print without an AMS or MMU?
In your slicer's preview, add a pause (or an M600 color change) at the first layer that should be the new color. When the printer stops there, unload the old filament, load the new one, purge until the color is clean, and resume.
Which layer should I pause at?
The first layer of the new color. Bambu Studio, OrcaSlicer, PrusaSlicer and their forks insert the pause before the layer you select. Cura's Pause at height is the exception: it takes the last layer of the old color.
Why didn't my printer pause?
Usually one of three things: the printer profile's Pause G-code is empty (common in OrcaSlicer), the printer's firmware doesn't support the command (many Klipper printers don't have M600), or the plate wasn't sliced again after adding the pause.
Should I use a pause or a filament change (M600)?
M600 is nicer when your printer supports it: it parks, unloads, and walks you through loading. A plain pause (PAUSE, M601, M0 or M25) works on more printers, but you unload and load from the printer's menus yourself.
Can I change colors more than once in one print?
Yes. Add a pause at each layer where the color changes. Each one stops the printer until you swap and resume.
Will the color change leave a mark on the print?
Usually not, if you remove the purged strand before resuming and don't leave the print paused for long. A long pause lets the print cool, which can show as a faint line or let the print lift at the corners.