Calibration & Performance

E-Steps Calculator

Calculate corrected extruder steps per millimeter from an extrusion calibration test.

Extrusion test

steps/mm

Your printer's current M92 E value.

mm

The amount you commanded the firmware to extrude.

mm

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:

Formula

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.

Other tools you may find useful.