What retraction settings should you use for TPU?

By Asked 3D Content TeamPublished Last verified

What retraction settings should you use for TPU?

Start from your slicer’s TPU profile. On direct-drive printers these run from zero to 2.5 mm. Bambu Studio sends 0.4 mm for Bambu TPU 95A on the X1 Carbon, P1S and A1, half its 0.8 mm default. PrusaSlicer sends 2.5 mm on the MK4S and CORE One and zero on the MK3S. Bowden profiles use 3 to 8 mm.

The number

Printer (extruder) TPU profile Retraction length Retraction / deretraction speed Same printer’s default
Bambu Lab X1 Carbon, P1S, A1 (direct drive) Bambu TPU 95A, Bambu Studio 0.4 mm 30 / 30 mm/s (not overridden) 0.8 mm, 30 / 30 mm/s
Bambu Lab X1 Carbon, P1S, A1 Bambu TPU 95A HF 0.8 mm 30 / 30 mm/s 0.8 mm, 30 / 30 mm/s
Bambu Lab X1 Carbon, P1S, A1 Bambu TPU for AMS 0.4 mm 30 / 30 mm/s 0.8 mm, 30 / 30 mm/s
Bambu Lab X1 Carbon, P1S, standard nozzle Bambu TPU 90A 0.8 mm, plus a 0.6 mm Spiral Lift Z hop 30 / 30 mm/s 0.8 mm, 0.4 mm Auto Lift Z hop
Prusa CORE One, MK4S (direct drive) Generic FLEX, PrusaSlicer 2.9.6 2.5 mm 60 / 20 mm/s 0.7 mm; 45 / 25 mm/s (CORE One), 35 / 25 mm/s (MK4S)
Prusa CORE One, MK4S ColorFabb TPU 95A, PrusaSlicer 2.9.6 2 mm 60 / 20 mm/s as above
Prusa MK3S (direct drive) Generic FLEX, PrusaSlicer 2.9.6 0, retraction off none 0.8 mm, 35 mm/s
Prusa MINI, MINI+ (Bowden) Generic FLEX @MINI, PrusaSlicer 2.9.6 3 mm 40 / 15 mm/s 3.2 mm (2.5 mm with Input Shaper), 70 / 40 mm/s
UltiMaker S5, AA 0.4 (Bowden, 2.85 mm filament) UltiMaker TPU 95A, Cura 5.13.0 8 mm 45 / 15 mm/s 6.5 mm for UltiMaker PLA, 45 / 15 mm/s
Not stated, 0.4 mm nozzle Polymaker PolyFlex TPU95 and TPU90 data sheets 3 to 6 mm 40 to 60 mm/s none given

The Bambu rows are Bambu Studio v02.08.02.61’s filament and printer profiles with inheritance followed; the A1’s TPU 95A profile takes its 0.4 mm from the base TPU profile. The Prusa rows come from PrusaSlicer 2.9.6, the UltiMaker row from Cura 5.13.0 and UltiMaker’s material profile, and the last from Polymaker’s data sheets.

Prusa’s and UltiMaker’s TPU profiles also retract less often. PrusaSlicer’s flex profiles wait for 2 mm of travel before retracting (6 mm on the MINI), against the printer’s 1.5 mm. On the MK4S and CORE One they also turn off “Retract on layer change”. UltiMaker’s TPU profiles lower Cura’s “Maximum Retraction Count” to 15 from 25.

Why does TPU need different retraction?

Because soft filament can bend under the push that ends each retraction. That push, the deretraction, feeds the strand back into the extruder. Bambu Lab says softer TPU (thermoplastic polyurethane) such as 83A or 80A “bends easily during feeding, which can cause filament buckling, tangling, or unstable extrusion”. Prusa says lower retractions bring “a lower risk of clogging the nozzle or filament tangling”.

A soft TPU strand bowing sideways in the gap between the extruder drive gears and the hotend inlet as the gears push it back inWhen the drive gears push soft TPU back in after a retraction, the strand can bend sideways in the gap instead of sliding into the hotend.1Drive gears push the strand back in3Hotend inlet2Soft TPU bows sideways in the gap
  1. Drive gears push the strand back in
  2. Soft TPU bows sideways in the gap
  3. Hotend inlet
When the drive gears push soft TPU back in after a retraction, the strand can bend sideways in the gap instead of sliding into the hotend.

Polymaker gives the same reason for printing TPU slowly: slower speeds “prevent filament buckling”. The profiles that retract further also slow the push back in. PrusaSlicer deretracts at 20 mm/s on the MK4S and CORE One and at 15 mm/s on the MINI, both below the printer’s own speed. Cura’s description of “Maximum Retraction Count” adds that retracting the same piece of filament over and over “can flatten the filament and cause grinding issues”.

Bowden lengths run longer because, as Polymaker puts it, the tube holds “filament slack” to take up first.

What retraction distance and speed should TPU use on a direct drive?

Between 0.4 and 2.5 mm, or none, in the shipped profiles above. Bambu Studio leaves the speed at the printer’s 30 mm/s; only PrusaSlicer raises it, to 60 mm/s on the MK4S and CORE One. Polymaker’s general TPU advice is 1 to 2 mm at 10 to 20 mm/s. Its own data sheets say 3 to 6 mm at 40 to 60 mm/s, so treat any single number as a starting point.

Do softer TPU grades need less retraction than 95A?

Not consistently. On the MK4S and CORE One, PrusaSlicer gives ColorFabb TPU 85A 1.2 mm against 2 mm for ColorFabb TPU 95A. Bambu Studio sends 0.4 mm for its 85A (0.6 and 0.8 mm nozzles only) as for its 95A, but 0.8 mm with a Spiral Lift Z hop for its 90A. Bambu Lab printers do not currently support TPU softer than 85A.

How to check it on your own print

  1. Dry the spool. Bambu Lab lists moisture as a cause of TPU stringing (how to dry TPU).
  2. Load the TPU profile and read its values. Bambu Studio: filament settings, Setting Overrides, Retraction group (where to find it). PrusaSlicer: Filament Settings, Filament Overrides. Cura: the Travel section.
  3. Print a short stringing test at those values. With no TPU profile in your slicer, start at zero: NinjaTek and Prusa both say to turn retraction off, then add it back.
  4. If it strings, lower the nozzle temperature by about 5 °C first. Bambu Lab pairs this with a 0.4 mm³/s cut in maximum volumetric speed.
  5. Then raise the length by 0.2 mm at a time. That is Bambu Lab’s step for TPU and Polymaker’s step for any filament (calibrating retraction). Keep the speed at the profile’s value.
  6. Back off one step at the first sign of over-retraction. Polymaker lists too much retraction as a cause of under-extrusion after a travel move. NinjaTek lists it as a cause of a matte, textured wall.
  7. Cut the number of retractions. Bambu Lab suggests setting Print sequence to By object, so the nozzle does not travel between parts on every layer.

Sources

  1. resources/profiles/BBL/filament/fdm_filament_tpu.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  2. resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  3. resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  4. resources/profiles/BBL/filament/Bambu TPU 95A @base.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  5. resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  6. resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  7. resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  8. resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  9. resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  10. resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  11. resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  12. resources/profiles/BBL/filament/fdm_filament_template_direct_dual.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  13. 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)
  14. resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  15. resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json at v02.08.02.61 (inherited by the A1 0.4 nozzle profile), Bambu Studio on GitHub (accessed October 30, 2026)
  16. src/libslic3r/PrintConfig.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  17. src/slic3r/GUI/Tab.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
  18. TPU Printing Guide, Bambu Lab Wiki (accessed October 30, 2026)
  19. resources/profiles/PrusaResearch.ini at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  20. src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  21. src/slic3r/GUI/Tab.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
  22. Flexible materials, Prusa Knowledge Base (accessed October 30, 2026)
  23. Extruder / Extruder motor (MINI), Prusa Knowledge Base glossary (accessed October 30, 2026)
  24. Prusa CORE One technical specifications, Prusa Research (accessed October 30, 2026)
  25. Original Prusa MK4S technical specifications, Prusa Research (accessed October 30, 2026)
  26. resources/definitions/ultimaker_s5.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
  27. resources/definitions/ultimaker.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
  28. resources/variants/ultimaker_s5_aa04.inst.cfg at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
  29. resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
  30. resources/definitions/fdmprinter.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
  31. ultimaker_tpu.xml.fdm_material at 5.13.0, UltiMaker fdm_materials on GitHub (accessed October 30, 2026)
  32. ultimaker_pla.xml.fdm_material at 5.13.0, UltiMaker fdm_materials on GitHub (accessed October 30, 2026)
  33. Clean the S series feeders, UltiMaker Support (accessed October 30, 2026)
  34. PolyFlex TPU95 technical data sheet, Polymaker Wiki (accessed October 30, 2026)
  35. PolyFlex TPU90 technical data sheet, Polymaker Wiki (accessed October 30, 2026)
  36. TPU, Polymaker Wiki (accessed October 30, 2026)
  37. Travel and Retraction, Polymaker Wiki (accessed October 30, 2026)
  38. Troubleshooting Guide, NinjaTek (accessed October 30, 2026)