Ender 3 (Pro & V2 & S1) & Ender 5 (Pro & Plus & S1) Retraction Settings

Retraction is one of the most critical; but also one of the trickier slicer settings to configure correctly, as too little of it creates issues such as stringing and blobs, and too much of it leads to under-extrusion, with both scenarios ending up with a considerable loss in print quality.

In this guide, we will take you through how you can optimally configure retraction settings for your Ender 3 or Ender 5 and share some additional tips & tricks that can help you further reduce stringing in scenarios where stringing still occurs to an extent, even with correctly configured retraction settings.

Ender 3 (Pro & V2 & S1) & Ender 5 (Pro & Plus & S1) Retraction Settings

Below, you can find sections for each main retraction parameter in Cura; retraction distance, retraction speed, retraction extra prime amount, retraction minimum travel, and maximum retraction count; where we will take a deep dive into each of these parameters and explain how the configuration can differ for each Ender 3 or Ender 5 based on factors such as the filament and the extruder type you’re using.

Retraction Distance

Retraction distance, which is practically the primary parameter that affects how a retraction behaves, determines the length of filament that your Ender 3 / Ender 5 pulls away from the nozzle whenever a retraction is triggered.

cura retraction-distance

When using a retraction value that is way too high, you can experience issues such as filament grinding, where the extruder gear ends up losing its grip on the filament (which would stop extrusion altogether) due to a part of the filament getting worn out as a result of coming into contact with the extruder gear too frequently, the nozzle leaving large blobs on the print due to retractions taking longer than necessary, and an overall, unnecessary increase in print times.

On the other hand, in a scenario where the retraction distance value is too low, you will come across oozing (and stringing as a result) due to the retracted material melting too closely to the nozzle, which will naturally cause it to leak out before your Ender 3 / Ender 5 can reach its destination and complete the travel move.

With these in mind, we can say that the optimal retraction distance is the lowest value possible where oozing doesn’t occur during any of the travel moves, as this will minimize the size of the blobs that the nozzle leaves, protect the filament from grinding, eliminate stringing, and also slightly reduce print times all at once.

One exception to this is printing TPU with a Bowden extruder, in which case we recommend disabling retraction altogether and opting for different ways of dealing with stringing, such as enabling Combing in Cura, as retracting TPU with a Bowden system usually causes the filament to bunch up inside the Bowden tube and create a clog.

For an Ender 3 / Ender 5 with a Bowden extruder, we recommend using a retraction distance value of 6 mm as a starting point unless you’re printing TPU filament, in which case you should deactivate retraction.

On the other hand, for an Ender 3 S1 / Ender 5 S1, which ship with Direct Drive extruders, you can start out with a retraction distance value of 1 mm, which also applies to TPU.

With these starting values in mind, the next step is to print a retraction tower, which we can quickly describe as a system that allows you to see the effects of distinct retraction distance and speed values by using a 3D model divided into a few different sections, and a script that makes it possible to automatically change the retraction speed / distance values between these sections, within a single print.

cura retraction tower example

For this process, we recommend installing the Calibration Shapes plugin for Cura, which includes both the 3D models and the scripts necessary to print a retraction tower without requiring any other external additions and makes the process extremely convenient.

With the Calibration Shapes plugin installed, the first step you will need to take is to insert the 3D model of the tower by clicking the Extensions button on the menu bar, hovering over the Part for calibration option, and choosing Add a Retract Tower from the list, which will practically work the same way as regularly importing a model into Cura.

cura calibration shapes retract tower

Next, you will need to add the post-processing script that makes the dynamic retraction adjustment possible, where the first step is to click the Extensions button once more, but this time, hover on the Post Processing section and choose Modify G-Code from the dropdown.

cura post processing dropdown

Once the Post Processing Plugin window appears, click the Add a script button, and choose RetractTower from the list.

cura retracttower script

Now that the post-processing script is active – configure the Starting Value to be 4 mm (Bowden) / 0.5 mm (Direct Drive) and the Value Increment to be 1 mm (Bowden) / 0.25 mm (Direct Drive), which will allow you to test for retraction distance values of 4/5/6/7/8 mm for Bowden extruders and 0.5/0.75/1/1.25/1.5 mm for Direct Drive extruders.

When it comes to Change Layer and Change Layer Offset, you have two options to configure things correctly; to either use the print settings the plugin recommends or to figure these values out yourself.

If you configure Cura to use the print settings listed below, you can input 38 for Change Layer and 4 for Change Layer Offset right away, which will get things to work as intended:

  • Nozzle Size: 0.4 mm
  • Layer Height: 0.2 mm
  • Initial Layer Height: 0.2 mm
  • Line Width: 0.4 mm
  • Wall Line Count : 3
  • Top/Bottom Thickness: 0.8 mm
  • Use Adaptive Layers: False
cura retraction tower distance script

On the other hand, if you would like to use your own settings, which is the way to go to produce more reliable results, you can find the correct Change Layer and Change Layer Offset values by navigating to the Preview tab and cycling through the layers.

In this case, the Change Layer Offset value will be the layer that comes right before the first layer of the first section (the last layer of the base of the retraction tower), and the Change Layer value will be the total number of layers minus the Change Layer Offset value, divided by the number of sections, which is 5 in this case.

For instance, in the images below, you can see that the Change Layer Offset should be 4, as that’s the last layer for the base of the retraction tower, with the first section starting at layer 5.

cura finding the change layer offset value
Finding the Change Layer Offset Value
cura finding the change layer offset value 2
Finding the Change Layer Offset Value

Similarly, in the image below, you can see that the entire retraction tower consists of 197 layers in total, and once we subtract the Change Layer Offset value of 4 from it (193) and divide it by 5, we find 38.6, which we can round down to 38.

cura finding the change layer value
Finding the Change Layer Value

Finally, ensure that the Command dropdown is set to Distance; and once that’s done, you can slice and print the retraction distance tower, locate the section that looks the best, and use the retraction distance value that belonged to that section.

Finally, to fine-tune the retraction distance value for your Ender 3 / Ender 5 as best as possible, you print a few more retraction towers where you readjust the Starting Value accordingly and bring the Value Increment down, which will allow you to find out whether there are values close to the one you have found from the last retraction tower that performs better than the original value.

Retraction Speed

The retraction speed parameter determines the speed at which your Ender 3 / Ender 5 pulls the filament away from the nozzle when a retraction occurs.

cura retraction-speed

In a scenario where your retraction speed setting is too high, the main issue you will observe is filament grinding, which will create problems ranging from under-extrusion due to parts of the filament being stripped out to extrusion stopping altogether due to the extruder gears not being able to grip and move the filament anymore, effectively causing the print to fail.

On the other hand, if the retraction speed is way too low, the nozzle will end up leaving larger blobs at the locations where it starts retracting the filament, as the printhead will have to wait longer without movement for the retraction to be over before it can move forward with the travel move, which will also slightly increase print times.

Putting these factors into consideration, we can say that the rule for correctly configuring the retraction speed value is pretty straightforward, which is to find the highest possible value where filament grinding does not occur, as this will protect the filament from damage, reduce the size of the blobs that can appear during retraction, and also slightly decrease print times.

One exception to this rule is printing flexible filaments, such as TPU, which inherently requires the usage of lower retraction speeds due to the risk of filament possibly bunching up when retracted at high speeds, which would lead to a clog that causes print failure.

For an Ender 3 / Ender 5 with a Bowden extruder, we recommend starting with a retraction speed value of 45 mm/s for testing unless you’re printing TPU, in which case you should have retraction disabled.

On the other hand, for an Ender 3 S1 / Ender 5 S1 with a Direct Drive extruder, a retraction speed value of 40 mm/s should do the job, which you can reduce to 30 mm/s in the case of printing with TPU filament.

Once that’s done, the next step is to print a retraction tower once again, but with a slight difference, as you will run the test for the retraction speed instead of the retraction distance this time.

To do this, you can open up the Post Processing section again, the same as when you did it the first time around for the retraction distance tower, click on the RetractTower script, which should already be active from the last time, and choose the Speed option from the Command dropdown.

cura retraction tower speed script

Next, configure the script by inputting 35 mm/s (Bowden) / 30 mm/s (Direct Drive) for Starting Value and 5 mm/s for Value Increment (Change Layer and Change Layer Count should be good from the last time), which will allow you to see the effects of retraction speed values of 35/40/45/50/55 mm/s for a Bowden extruder and 30/35/40/45/50 mm/s for a Direct Drive extruder on the retraction tower.

Similar to the retraction distance, you can also fine-tune the retraction speed further by placing the value you found from the first retraction tower in the middle, narrowing the increment down, printing another temperature tower, and repeating this process until you have the precise value that produces the best results at hand.

Finally, once you’re done printing retraction towers for both retraction distance and retraction speed, remember to remove the RetractTower script from the Post Processing Scripts section, as keeping it active for a regular print will end up with the retraction distance / speed values changing across the print as if you were printing a retraction tower.

Retraction Minimum Travel

The retraction minimum travel value specifies the minimum distance your Ender 3 / Ender 5 needs to travel for a retraction to occur.

retraction minimum travel

In essence, this parameter aims to reduce the number of retractions that we can consider to be unnecessary due to the travel distance between the two points being way too short, which would effectively mean that there wouldn’t be enough time for the plastic to ooze out of the nozzle anyway.

As a matter of fact, we can even consider such retractions to be harmful to the print, as the time that the printhead spends standing still during the retractions can lead to the nozzle leaving a blob on the surface, which skipping the retraction would easily prevent.

In a scenario where retraction minimum travel is misconfigured with a value that’s way too low, Cura won’t cut the unnecessary short-distance retractions out, which, as we have mentioned before, will lead to both the nozzle potentially leaving blobs on the print and your 3D printer wasting time on the retractions.

On the other hand, if the retraction minimum travel value is way too high, your Ender 3 / Ender 5 may end up not retracting the filament at distances where a retraction would actually be necessary to prevent the plastic from oozing, which would result in stringing.

So, the optimal retraction minimum travel would practically be the highest value possible where stringing doesn’t occur, as such a value would make it possible to get rid of all unnecessary short-distance retractions that have more potential to do harm than good while also reducing print times due to the time that otherwise would be spent on retractions being saved.

With these in mind, our recommendation as a starting value for the retraction minimum travel parameter would be 1.5 mm, which, in most cases, should do the job without issues.

On the other hand, if you would like to optimize this value further, or if you’re experiencing stringing, you can increase (for optimization) or decrease (for stringing) it by 0.1 mm at a time, run a test print after each adjustment, and repeat this cycle until you find the value that works the best.

Minimum Extrusion Distance Window & Maximum Retraction Count

The maximum retraction count value determines the maximum number of retractions that can take place within each particular length of filament, with the minimum extrusion distance window specifying what this length will be.

minimum extrusion distance window cura maximum retraction count cura

Under normal circumstances, the purpose of these two parameters is to prevent a scenario where your Ender 3 / Ender 5 keeps retracting the same bit of filament over and over to the point where the extruder gear eventually ends up grinding the filament down, as this would end up in a scenario where the extruder gear isn’t able to grip that portion of the filament anymore and move it as intended, which would cause a plethora of problems.

So, in a case of misconfiguration where the minimum extrusion distance window is too low; or the maximum retraction count value is too high, this feature will practically have no effect at all, as it won’t be able to fulfill its purpose of protecting the filament from being chewed by the extruder gear due to the number of retractions not being reduced by a meaningful amount, if at all.

On the other hand, when the minimum extrusion distance window value is too high; or the maximum retraction count value is too low, this feature will cause Cura to skip way too many of the retractions that are actually necessary to prevent your Ender 3 / Ender 5 from oozing filament, which will present itself in the form of stringing and blobs appearing on your prints.

With these in mind, the optimal minimum extrusion distance window and maximum retraction count combination would be one where the former is at the highest, and the latter is at the lowest point possible where stringing and blobs don’t occur, which would effectively mean that your Ender 3 / Ender 5 will be retracting the filament no more than what’s necessary.

When configuring these two parameters, our first advice would be to keep the minimum extrusion distance window value equal to your retraction distance value (which is what Cura recommends doing), as this effectively makes it possible to control the retraction limit by adjusting the maximum retraction count value alone without complicating things.

For the maximum retraction count value, we recommend starting out with a value of 10, which, in most cases, should be low enough to protect the filament from damage that the extruder gears can create but also high enough not to cause stringing.

On the other hand, if you do end up experiencing stringing with these settings, we recommend increasing the maximum retraction count value by 10, going for another test print, and repeating this cycle until you see satisfactory results.

Retraction Extra Prime Amount

Retraction extra prime amount is a parameter that you will only need to configure situationally, with the purpose of pushing extra filament on top of what your Ender 3 / Ender 5 already primes once it completes a travel move.

retraction extra prime amount

So, unless you’re experiencing under-extrusion specifically after a retraction takes place, you can leave the retraction extra prime amount parameter at its default value of 0 since there’s no need for your Ender 3 / Ender 5 to prime extra filament if there’s no under-extrusion after retractions.

On the other hand, if under-extrusion after retractions is a problem, you can start with a value that’s equal to the nozzle size cubed, which, in the case of a stock Ender 3 / Ender 5, would be 0.064 mm^3 for a 0.4 mm nozzle.

cura retraction extra prime amount explanation

Finally, to fine-tune this value, you can increase (for under-extrusion) or reduce (for over-extrusion) it by 10% at a time based on the results and keep testing until you find a value where neither over-extrusion nor under-extrusion occurs after retractions.

Tips & Tricks to Further Reduce Stringing on Your Ender 3 (Pro & V2 & S1) & Ender 5 (Pro & Plus & S1)

While optimally configuring retraction eliminates stringing completely or minimizes it to a point where it’s insignificant in many cases, there are some additional measures you can take if this isn’t the case for you and stringing is still troubling your Ender 3 or Ender 5 despite you fine-tuning your retraction settings.

Lower the Print Temperature

Using a print temperature that’s higher than optimal leads to the filament melting way too quickly, which in turn makes it harder for your Ender 3 to control the flow, and as a result, creates over-extrusion, where the filament uncontrollably oozes out of the nozzle despite being retracted.

cura printing temperature

If this is the case for you, lowering the print temperature, preferably by using a temperature tower (the Calibration Shapes plugin has one included) to find the optimal temperature value for the filament you use, will allow your Ender 3 to regain control of the flow and reduce stringing, potentially even completely eliminating it.

Increase the Travel Speed

As the travel speed only applies to travel moves, which are the moves where your Ender 3 / Ender 5 won’t be extruding, increasing it as much as possible will reduce the time it spends moving from one point to the other and reduce the chance that stringing occurs by not letting the plastic have enough time to ooze out.

cura travel speed

Using a travel speed value of 150 mm/s, which is pretty standard for a stock Ender 3, will ensure that stringing does not occur due to the printhead moving too slowly.

Clean the Nozzle

A nozzle that you have used to print the same type of filament for a prolonged time without any purging or cleaning can eventually accumulate a thin layer of plastic inside, which can possibly lead to stringing due to this layer sticking to the surface of your print and getting dragged whenever a travel move occurs.

cleaning ender 3 v2 nozzle with needle

To perform basic cleaning on your Ender 3’s nozzle, you can start off by using the nozzle cleaning needle that ships with the printer, which, in most cases, should be sufficient to resolve problems by cleaning any leftover filament that’s in the path of the incoming filament.

Next, you can follow up by cleaning the outer parts of the nozzle, preferably with the help of a wire brush (a piece of cloth or paper towel with some IPA will also do the job if you don’t have a wire brush) since plastic can stick to these areas over time and dry up, only to be melted again once the nozzle gets hot.

In cases where the clogging is too severe, it can also be necessary to perform a cold pull, which we can quickly summarize as a process that aims to melt the residue inside the nozzle and cause it to stick to a filament with a higher melting point than the one you’re cleaning (purging filament), which you then pull out to bring the residue out with the filament.

Finally, as it’s entirely possible for a worn-out nozzle to create the stringing problem you’re experiencing, it can also be a good idea to switch the nozzle with a new one if you seem to be running out of options, especially considering that the nozzle is a pretty cheap part that you can easily replace at any time.

Use the Combing Feature in Cura

The combing feature in Cura reroutes the travel moves in a way that makes the nozzle avoid crossing the walls of the print as much as possible, which reduces both the scars on the surface and the stringing visible from the outside.

cura combing

When activating the combing feature, our recommendation would be to choose the Within Infill option, which we can consider to be the strictest mode, and as a result, the one that will reduce stringing the most due to it instructing the printhead to avoid hitting the skin, the inner walls, and also the outer walls as much as possible.

Use the Coasting Feature in Cura

The coasting feature in Cura cuts off the extrusion paths slightly earlier than intended and replaces the cut-off parts with travel moves instead, aiming to use the oozed material to finish up the rest of the extrusion path without actually extruding and make it possible to perform the upcoming travel move with no stringing.

cura coasting

That being said, as this feature will technically cause under-extrusion toward the ends of the extrusion paths, which can potentially be problematic for your prints if the oozing isn’t too severe (as there will be a lack of material in this case), some trial and error will definitely be necessary.


While configuring retraction is no easy feat due to its potential negative impact on print quality, even with the slightest misconfiguration, knowing the effect of each retraction parameter and how they individually affect the retraction process should definitely be helpful to get things right.

As finding the correct values comes down primarily to trial and error in a similar way to optimizing the print temperature, printing a series of retraction towers where you can see how the combination of different retraction speeds and retraction distances affect the quality is one of the best things you can do to make the process more reliable and convenient.