E-steps calculator: calibrate your extruder

New E-steps = current E-steps × distance asked for ÷ distance actually extruded. If your printer is set to 93 steps/mm and pushes only 95 mm when you ask for 100 mm, the new value is 93 × 100 ÷ 95 = 97.89 steps/mm. On Klipper, multiply rotation_distance by actual ÷ requested instead.

Updated · Sources · How we calculate

  • Marlin M92 + M500
  • Klipper rotation_distance
  • Over/under-extrusion %
  • Step-by-step test

Your extruder test

Firmware

Send M503 and look for the E value on the M92 line.

steps/mm

Where you marked the filament, measured from the extruder inlet.

mm
mm

Measure after the extrusion finishes.

mm

New E-steps

93.00 steps/mm

Extruded 100 mm of 100 mm asked for: over-extruding by 0.0%

Calculation
1Actually extruded120 − 20100 mm
2New E-steps93 × 100 ÷ 10093.00
M92 E93.00
M500
M92 sets the value; M500 saves it to EEPROM.
Assumptions behind this estimate (2)
  • Heat the nozzle to printing temperature before extruding, and extrude slowly (about 100 mm per minute) so the hotend isn’t the limit.
  • Repeat the test after changing the value; within about 1% is good enough. Then tune flow rate per filament in your slicer.

Save or share this result

EmailText

When should I calibrate E-steps?

After changing the extruder, its gears or the firmware, or when every filament under-extrudes the same way (gaps between lines, weak walls). If only one filament misbehaves, adjust its flow rate in the slicer instead — E-steps are a property of the extruder, flow is a property of the filament.

Why extrude through a hot nozzle and slowly?

Extruding too fast makes the hotend the bottleneck, so the extruder skips or grinds and you measure too little — then over-correct. About 100 mm per minute through a nozzle at printing temperature measures the extruder itself.

Do Bambu Lab printers need this?

Printers with factory-calibrated extruders and closed firmware, such as Bambu Lab models, don’t expose E-steps; use the slicer’s flow-rate calibration instead. It is most useful on Marlin and Klipper printers such as Creality Ender and Voron builds. To check your filament, the length-to-weight converter helps confirm diameter.

How to calibrate E-steps

  1. 1Heat the nozzle to your usual printing temperature.
  2. 2Mark the filament 120 mm above where it enters the extruder.
  3. 3Extrude 100 mm slowly: send M83 (relative extrusion), then G1 E100 F100, and wait for it to finish.
  4. 4Measure the distance left from the extruder to the mark. Actual extrusion = 120 − that distance.
  5. 5Enter the numbers above, then send M92 E<new value> and M500 to save (Marlin), or update rotation_distance in printer.cfg (Klipper).
  6. 6Repeat the test to confirm you are within about 1%.

Frequently asked questions

What are default E-steps on an Ender 3?

The stock Creality Ender 3 extruder ships set to about 93 steps/mm. Upgraded extruders use different values — geared direct-drive extruders often need 400 or more — so always measure; the default is only a starting point.

How do I find my current E-steps?

Send M503 from a terminal (OctoPrint, Pronterface or your printer’s console). The E value on the M92 line is the current setting.

What’s the Klipper equivalent of E-steps?

rotation_distance in the [extruder] section of printer.cfg. It works the other way round: if the extruder pushes too little, the rotation distance gets smaller.

Sources

Estimates for planning. Results depend on the numbers you enter — use the gram, hour and ml figures from your slicer, and your real material and power prices. Material densities are typical values; check your spool or bottle datasheet for exact figures.