This calculator gives you the corrected extruder steps-per-mm (E-steps) value from a single calibration measurement. Accurate E-steps are the foundation of good prints — without them, every flow, dimensional, and strength setting is built on a wrong baseline.
How it works
E-steps tell the firmware how many motor steps equal one millimetre of filament fed. When you command 100mm of extrusion and measure a different amount, the ratio tells you how to correct the value:
New E-steps = current E-steps x (requested length / actual extruded)
Under-extrusion (less came out than requested) makes the ratio greater than 1, so E-steps rise. Over-extrusion makes the ratio less than 1, so E-steps fall.
The procedure
- Read current E-steps with
M503(look for theM92line) orM92alone. - Mark the filament a known distance above the extruder entry — say 120mm.
- Heat the hotend and command
G1 E100 F100to extrude 100mm slowly. - Measure from the entry point to your mark. Subtract from the start distance:
actual = 120 - remaining. - Enter current E-steps, requested 100mm, and the actual figure below.
- Save with
M92 E<new>thenM500.
Worked example
- Current E-steps: 93.0
- Requested: 100mm
- Actual extruded: 96mm (24mm remained from a 120mm mark)
New E-steps = 93.0 x (100 / 96) = 96.875. Round to 96.88 and save. The extruder
was under-extruding by 4%, so the value rose by exactly that ratio.
Notes
- Extrude slowly (F100, i.e. 100 mm/min) so the motor never skips and the measurement is clean.
- For Klipper, convert to rotation distance:
new_rotation = current_rotation x (actual / requested)— note the inverse ratio versus Marlin E-steps. - Re-verify after the first correction; a second pass should land within a fraction of a percent.
All math runs locally in your browser.