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”.
- Drive gears push the strand back in
- Soft TPU bows sideways in the gap
- Hotend inlet
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
- Dry the spool. Bambu Lab lists moisture as a cause of TPU stringing (how to dry TPU).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- resources/profiles/BBL/filament/fdm_filament_tpu.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A @base.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL P1S.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 95A HF @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU for AMS @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU for AMS @BBL A1.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 90A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/Bambu TPU 85A @BBL X1C.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- resources/profiles/BBL/filament/fdm_filament_template_direct_dual.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- 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)
- resources/profiles/BBL/machine/Bambu Lab P1S 0.4 nozzle.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- 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)
- src/libslic3r/PrintConfig.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- src/slic3r/GUI/Tab.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 30, 2026)
- TPU Printing Guide, Bambu Lab Wiki (accessed October 30, 2026)
- resources/profiles/PrusaResearch.ini at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
- src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
- src/slic3r/GUI/Tab.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 30, 2026)
- Flexible materials, Prusa Knowledge Base (accessed October 30, 2026)
- Extruder / Extruder motor (MINI), Prusa Knowledge Base glossary (accessed October 30, 2026)
- Prusa CORE One technical specifications, Prusa Research (accessed October 30, 2026)
- Original Prusa MK4S technical specifications, Prusa Research (accessed October 30, 2026)
- resources/definitions/ultimaker_s5.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
- resources/definitions/ultimaker.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
- resources/variants/ultimaker_s5_aa04.inst.cfg at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
- 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)
- resources/definitions/fdmprinter.def.json at 5.13.0, UltiMaker Cura on GitHub (accessed October 30, 2026)
- ultimaker_tpu.xml.fdm_material at 5.13.0, UltiMaker fdm_materials on GitHub (accessed October 30, 2026)
- ultimaker_pla.xml.fdm_material at 5.13.0, UltiMaker fdm_materials on GitHub (accessed October 30, 2026)
- Clean the S series feeders, UltiMaker Support (accessed October 30, 2026)
- PolyFlex TPU95 technical data sheet, Polymaker Wiki (accessed October 30, 2026)
- PolyFlex TPU90 technical data sheet, Polymaker Wiki (accessed October 30, 2026)
- TPU, Polymaker Wiki (accessed October 30, 2026)
- Travel and Retraction, Polymaker Wiki (accessed October 30, 2026)
- Troubleshooting Guide, NinjaTek (accessed October 30, 2026)