E-Steps Calculator
Calculate corrected extruder steps per millimeter from an extrusion calibration test.
Extrusion test
Your printer's current M92 E value.
The amount you commanded the firmware to extrude.
What you actually measured moving.
Calibrated E-steps
97.89 steps/mm
- Current E-steps
- 93 steps/mm
- Adjustment
- +5.26%
How it's calculated
You command the firmware to extrude a known length, measure how much filament actually moved, and scale your current E-steps by the ratio between them:
Correction factor
Requested extrusion ÷ Actual extrusion
Adjustment percentage
((New E-steps − Current E-steps) ÷ Current E-steps) × 100
New E-steps
Current E-steps × Correction factor
Under-extrusion (actual less than requested) increases E-steps; over-extrusion decreases it. This is the standard calibration procedure used by Marlin and other steps-based firmware — not every printer or firmware uses E-steps the same way, so follow the procedure documented for your specific machine. Klipper in particular typically uses a different setting called rotation_distance instead — see the Klipper Rotation Distance Calculator if that's your firmware.
Assumptions
- Your inputCurrent E-steps, requested extrusion, and actual extrusion — you enter these directly, from your own printer and measurement.
- Derived valueCalibrated E-steps and the correction factor are derived exactly from those inputs — no approximation in the math itself.
Worked example
Current E-steps is 93. You command the firmware to extrude 100mm and measure that only 95mm of filament actually moved.
New E-steps = 93 × 100 ÷ 95 ≈ 97.89 steps/mm.
Adjustment = ((97.89 − 93) ÷ 93) × 100 ≈ +5.26%.
Frequently asked questions
What are E-steps?
E-steps (extruder steps per millimeter) tell your printer's firmware how many motor steps are needed to extrude 1mm of filament. If this value is off, your printer will under- or over-extrude even though the slicer requested the correct amount — every command to extrude a certain length gets translated into the wrong number of motor steps.
How do I calculate new E-steps?
Heat your hotend, mark the filament a fixed distance (e.g. 100–120mm) above the extruder entrance, then command the firmware to extrude a known amount (commonly G1 E100 F100 in Marlin, or your firmware's equivalent). Measure how far the mark actually moved — that's your "actual extrusion." Enter your current E-steps plus the requested and actual figures above, and the calculator applies the standard correction formula.
Should I calibrate E-steps or flow first?
E-steps first. Flow-rate tuning (like a "flow" or "extrusion multiplier" setting in your slicer) is meant to fine-tune for a specific filament on top of an already-accurate machine — if E-steps are wrong, you're compensating for a firmware/hardware error with a slicer setting, which won't transfer cleanly to other filaments or profiles.
Why did my E-steps value increase?
Your E-steps increases when the test shows under-extrusion (the actual extrusion measured less than what you requested) — the firmware needs more steps per millimeter to push out the correct amount. It decreases when the test shows over-extrusion.
Does Klipper use E-steps?
Not directly. Klipper typically configures the extruder with a rotation_distance value (how many millimeters of filament one full motor revolution moves) instead of a steps/mm-style E-steps setting. The calibration test is the same, but the correction formula and direction are different — use the Klipper Rotation Distance Calculator instead if that's your firmware.
Related calculators
Other tools you may find useful.