Demo build: items marked [TO FILL] and “Field test pending” are intentional gaps for the operator to complete with real information. See our editorial policy.

Free tool

Extrusion Flow, Volumetric Speed & E-Steps Calculator

Every modern slicer turns your print speed, line width and layer height into a volumetric flow rate in cubic millimeters per second (mm³/s). This calculator computes the true stadium (capsule) cross-section used by Slic3r, PrusaSlicer, OrcaSlicer and Bambu Studio, checks whether your hotend can melt plastic fast enough, and calculates updated Slicer Flow Ratio and Klipper rotation_distance or Marlin M92 E-steps from your calibration measurements.

1. Track geometry & volumetric speed

Typically 105–120% of nozzle.

Slicer filament MVS cap.

2. Slicer flow ratio (extrusion multiplier) calibration

Coarse pass (e.g. −20 to +20).

Fine pass (0 if single-pass).

3. Extruder 100 mm free-air test (Klipper & Marlin)

Calculated flow & calibration values

    –
    Capsule cross-section
    –
    Volumetric flow rate Q
    –
    Max linear speed at MVS
    –
    Filament feed speed at gear
    –
    Plastic deposition rate
    –
    Updated slicer flow ratio
    –
    Actual filament pulled
    –
    New Klipper rotation_distance

    Firmware line to paste: –

    The math behind the calculator

    1. Capsule (stadium) cross-section vs. simple rectangle

    Many quick calculators multiply line width by layer height (w × h) to find cross-sectional area. Real slicers derived from Slic3r (PrusaSlicer, SuperSlicer, OrcaSlicer, Bambu Studio) model an extruded line as a flat central rectangle of width w − h flanked by two semicircular caps of diameter h, as documented in the Slic3r Flow Math specification:

    A = (w − h) × h + π × (h ÷ 2)² = w × h − (1 − π ÷ 4) × h²

    Because 1 − π ÷ 4 ≈ 0.2146, the true capsule area is smaller than w × h by 0.2146 × h². Worked example for w = 0.42 mm and h = 0.20 mm: naive rectangle = 0.42 × 0.20 = 0.0840 mm²; capsule area = (0.42 − 0.20) × 0.20 + 3.1416 × 0.01 = 0.0440 + 0.0314 = 0.0754 mm², which is 10.2% smaller. At v = 120 mm/s, that gives a true volumetric flow of 0.0754 × 120 = 9.05 mm³/s rather than 10.08 mm³/s. See slicer flow ratio and extrusion multiplier for how spacing between adjacent lines is handled.

    2. Volumetric flow rate, linear speed limit and filament feed speed

    Once the cross-sectional area A is known, volumetric flow rate Q and the maximum linear travel speed v_max permitted by your hotend’sMaximum Volumetric Speed (MVS) are:

    Q = A × v  and  v_max = Q_max ÷ A

    With a 15 mm³/s hotend cap and A = 0.0754 mm², the slicer will clamp print speed at 15 ÷ 0.0754 ≈ 199 mm/s even if you type 300 mm/s into the speed box. Meanwhile, 1.75 mm filament has a cross-sectional area of π × 0.875² ≈ 2.405 mm², so at Q = 9.05 mm³/s the extruder drive gears pull solid filament in at 9.05 ÷ 2.405 = 3.76 mm/s. Full details and test procedure are in maximum volumetric speed explained.

    3. Slicer flow ratio (extrusion multiplier)

    • Top-surface visual coupon (Pass 1 + Pass 2): in OrcaSlicer’s calibration suite, each test chip modifies flow by a percentage. Using the additive convention: New Flow = Current Flow × (100 + Pass 1 + Pass 2) ÷ 100. For 0.98 with −5% and −1%: 0.98 × 94 ÷ 100 = 0.9212.
    • Hollow cube wall thickness: New Flow = Current Flow × (Target Wall ÷ Measured Wall). Use a 2-wall cube rather than a single wall and measure only the top 3–4 layers with micrometer tips so layer-stacking ridges do not inflate the reading.

    4. Klipper rotation_distance and Marlin E-steps

    In the 100 mm free-air test, you place a mark on the filament at distance M (typically 120 mm) above the extruder intake, command a slow extrusion of R = 100 mm at 1–2 mm/s so back-pressure does not cause slip, and measure the remaining distance rem to the mark. The actual filament pulled is actual = M − rem. Per the Klipper Rotation Distance documentation:

    new_rotation_distance = current_rotation_distance × actual ÷ R
    new_steps_per_mm = current_steps_per_mm × R ÷ actual

    Why are the fractions inverted? Because Klipper’s rotation_distance is millimeters per full stepper revolution (larger number = less extrusion per step), whereas Marlin’s M92 E is steps per millimeter (larger number = more extrusion per millimeter). Our E-steps and rotation_distance guide walks through the full procedure.

    Limits of the calculation

    The capsule equation describes the volume of plastic the slicer commands, assuming constant filament diameter (1.750 mm) and zero die swell or melt compression. Real spools drift by ±0.02–0.03 mm in diameter (a ±0.02 mm shift changes cross-sectional area by ±2.3%), and high-speed extrusion through a 0.4 mm orifice builds melt-zone pressure that lags nozzle acceleration unless compensated with Pressure Advance / Linear Advance.

    Frequently asked questions

    Should I recalibrate E-steps or rotation_distance when I switch from PLA to PETG or TPU?

    Generally no. Calibrate rotation_distance or E-steps once for your extruder hardware (ideally into free air with the hotend detached, or very slowly at 1 mm/s through a hot nozzle), and handle per-filament differences in effective hob-tooth bite and thermal expansion inside the slicer’s filament profile using Flow Ratio.

    Why does increasing layer height from 0.20 mm to 0.28 mm cut my maximum print speed so sharply?

    At a 0.42 mm line width, raising layer height from 0.20 mm to 0.28 mm increases capsule area from 0.0754 mm² to 0.1008 mm² (+34%). For the same 15 mm³/s hotend melt limit, maximum print speed drops from 199 mm/s to 149 mm/s.

    Sources