What is retraction in 3D printing?

By Asked 3D Content TeamPublished Last verified

What is retraction in 3D printing?

Retraction is the extruder pulling filament back a set length before a travel move, so hotend pressure drops and melted plastic stops oozing from the nozzle, then pushing it back before printing resumes. Bambu Studio’s Bambu Lab X1 Carbon profile retracts 0.8 mm at 30 mm/s; PrusaSlicer’s profile for the Bowden Prusa MINI uses 3.2 mm at 70 mm/s.

The number

Retraction settings are the slicer fields that decide how far, how fast and when the filament is pulled back. These are the ones both slicers expose, with the values they ship:

What it controls Bambu Studio label: Bambu Lab X1 Carbon (direct drive) PrusaSlicer label: Prusa MINI (Bowden)
How far the filament is pulled back (choosing the distance) Length: 0.8 mm Retraction length: 3.2 mm
How fast it is pulled back (choosing the speed) Retraction Speed: 30 mm/s Retraction Speed: 70 mm/s
How fast it is pushed back in; 0 means the retraction speed Deretraction Speed: 30 mm/s Deretraction Speed: 40 mm/s
How far the nozzle lifts for the travel (Z hop) Z hop when retract: 0.4 mm, Z Hop Type Auto Lift height: 0.2 mm
Moving back along the last line while retracting Wipe while retracting: on, Wipe Distance 2 mm, Retract amount before wipe 0% Wipe while retracting: on, Retract amount before wipe 70%
A forced retraction at each layer change Retract when change layer: on Retract on layer change: on
Shortest travel that triggers a retraction Travel distance threshold: 1 mm Minimum travel after retraction: 1.5 mm
Skipping retraction on travels inside infill Reduce infill retraction: Auto (skips it for PLA, not for PETG) Only retract when crossing perimeters: off

The Bambu column is the “Bambu Lab X1 Carbon 0.4 nozzle” printer profile in Bambu Studio v02.08.02.61, with Reduce infill retraction from its process defaults; the Prusa column is the “Original Prusa MINI & MINI+” profile in PrusaSlicer 2.9.6 with its 0.20mm QUALITY print profile. A filament profile can override any of them: Bambu PLA Basic’s X1 Carbon profile, for one, sets 0.4 mm Length and 0.6 mm Z hop for one of the two hotend variants it covers.

Why does the nozzle need to retract before a travel move?

Because the nozzle stays hot and the melt inside it is under pressure, so plastic leaks out while the head crosses open space and leaves strings and blobs. Bambu Lab’s wiki describes the fix: pull some filament back out of the hotend first to lower that pressure, then reload it at the end of the travel so extrusion restarts on time.

PrusaSlicer’s tooltip says the length is measured on raw filament before it enters the extruder. On the MINI that extruder is fixed on the side of the printer and pushes filament through a PTFE (Bowden) tube to the print head, and its profile retracts 4 times as far as the X1 Carbon’s.

A hotend cut away during a travel move, with the filament and melt pulled up out of the nozzle tip while the head crosses a gap between two printed wallsBefore a travel move the extruder pulls the filament back, which lowers the pressure in the melt so the nozzle stops oozing while it crosses open space.4Melt drawn up, pressure released5Empty nozzle tip, nothing oozes1Filament pulled back by the extruder2Heat break3Heater block6Travel move with no extrusion
  1. Filament pulled back by the extruder
  2. Heat break
  3. Heater block
  4. Melt drawn up, pressure released
  5. Empty nozzle tip, nothing oozes
  6. Travel move with no extrusion
Before a travel move the extruder pulls the filament back, which lowers the pressure in the melt so the nozzle stops oozing while it crosses open space.

Does retraction add print time?

A little per retraction; the total scales with the number of travel moves. Each retraction is two extruder moves, Length divided by speed each way:

  • Bambu Lab X1 Carbon profile: 0.8 ÷ 30 = 0.027 s out and 0.8 ÷ 30 = 0.027 s back, about 0.05 s.
  • Prusa MINI profile: 3.2 ÷ 70 = 0.046 s out and 3.2 ÷ 40 = 0.08 s back, about 0.13 s.

Both profiles also wipe, which moves part or all of the pull-back into the wipe move, and Z hop adds a lift and a drop on top.

The count is what moves the total. A retraction fires on every travel longer than Travel distance threshold and at every layer change while Retract when change layer is on, minus the infill travels Reduce infill retraction skips. Raising the threshold cuts the count, but Bambu Lab’s wiki notes that travels too short to trigger a retraction can still string across small gaps.

How to check it on your own print

  1. Find your values. In Bambu Studio they are under Printer settings > Extruder > Retraction, and a filament can replace them under Filament settings > Setting Overrides. In PrusaSlicer they are under Printer Settings > Extruder 1 > Retraction.
  2. Dry the spool first if it strings. Bambu Lab’s wiki says damp filament strings and oozes in a way retraction settings usually cannot fully fix.
  3. Print a retraction test with the spool and nozzle you will use, and change Length in small steps (how to calibrate retraction distance).
  4. Watch for too much. The same wiki warns that pulling back too far or too often causes under-extrusion and gaps between layers, with some risk of a clog.
  5. Go easy on flexible filament. Bambu Lab’s wiki says retraction can change the diameter of elastic filament such as TPU and lead to clogs, while PLA, ABS and PETG print better with it enabled.
  6. Still stringing after all that? Work through the other causes in why a print strings.

Sources

  1. Retraction (Bambu Studio parameter guide), Bambu Lab Wiki (accessed October 30, 2026)
  2. resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  3. resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  4. resources/profiles/BBL/process/fdm_process_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  5. resources/profiles/BBL/filament/Bambu PLA Basic @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  6. src/libslic3r/PrintConfig.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  7. src/slic3r/GUI/Tab.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  8. src/libslic3r/GCode.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  9. resources/profiles/PrusaResearch.ini at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  10. src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  11. src/slic3r/GUI/Tab.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  12. Extruder / Extruder motor (MINI), Prusa Knowledge Base glossary (accessed October 30, 2026)