Retraction Distance & Speed Calculator

Get starting retraction values for your printer type and filament

Ad placeholder (leaderboard)

Stringing and oozing usually come down to retraction. This calculator gives a sensible starting retraction distance and speed based on the two things that matter most — your extruder type and your filament — so you can stop guessing and start tuning from a good baseline.

How it works

Retraction pulls filament back at travel moves so molten plastic stops oozing. The right amount depends on the length of the melt-to-nozzle path and the filament’s tendency to ooze.

Extruder type sets the baseline. A direct-drive extruder sits right on the hotend, so a short pull is enough (~1mm at a 0.4mm nozzle for PLA). A Bowden extruder pushes filament through a long PTFE tube that compresses and flexes, so it needs a much larger pull (~5mm baseline):

base distance = 1.0mm (direct) or 5.0mm (Bowden), at 0.4mm nozzle, PLA

Material scales it. Ooze-prone materials need more retraction; flexibles need far less:

distance = base × material factor × (nozzle ÷ 0.4)

Material factors: PETG 1.25×, Nylon 1.15×, PLA/ABS/ASA 1.0×, TPU 0.4×. A larger nozzle melts more material, so distance scales with nozzle diameter.

Speed is suggested separately — direct-drive can retract faster (~40 mm/s) because there is less inertia in the path; flexibles are capped low to avoid grinding.

Example

A Bowden printer, PETG, 0.4mm nozzle:

  • base = 5.0mm
  • distance = 5.0 × 1.25 × 1.0 = 6.25mm (try roughly 4.7-7.8mm)
  • speed ≈ 35 mm/s

A direct-drive printer, TPU, 0.4mm nozzle:

  • base = 1.0mm
  • distance = 1.0 × 0.4 × 1.0 = 0.4mm (keep retraction minimal)
  • speed capped at ~20 mm/s

Tuning notes

These are starting points, not final values. Print a retraction tower: hold the speed constant and step the distance in 0.5mm increments. Choose the smallest distance that eliminates strings — going further risks clogs, filament grinding, and gaps at the start of perimeters. The whole calculation runs locally in your browser.

Ad placeholder (rectangle)