Klipper Input Shaper Results Explainer

This tool reads the results of Klipper's SHAPER_CALIBRATE command (or the calibrate_shaper.py script), compares every shaper it tried, explains what the numbers mean, and writes the printer.cfg settings and the Marlin M593 equivalent. No accelerometer? Measure a ringing tower instead.

Paste the console output

Paste both axes at once if you have them. Lines from Mainsail, Fluidd or OctoPrint (with "//" or "Recv:") are fine.

Ringing tower measurements

Print Klipper's ringing tower, then measure the distance D across N ripples next to the notch for each axis (frequency = V × N ÷ D).

X axis
Y axis
Leave D empty for an axis you have not measured. Distance in inches? Multiply by 25.4 first.

Settings

Klipper's default square_corner_velocity is 5 mm/s and it designs shapers for a damping ratio of 0.1. These only change the computed smoothing, max_accel, the chart and the Marlin D value.

Results

Paste your results and press Explain and build the config, or try a sample.

    Klipper printer.cfg

    Marlin 2.1.2+ (input shaping, ZV only)

    Shaper Response

    How much of a vibration at each frequency is left after shaping (100% = no reduction), for each shaper at its tuned frequency, with damping ratio 0.1. Calculated from Klipper's shaper definitions.

    The chart appears with your results.

    What the Numbers Mean

    Frequency (Hz)
    The shaper's tuning frequency. It is usually near your printer's main resonance, the "ring" you see as ripples after corners. Higher is better: a stiffer, lighter axis rings faster.
    Vibrations (%)
    How much of the measured vibration Klipper expects to be left with this shaper. Lower means less ringing. Under about 5% is normally invisible.
    Smoothing (mm)
    How much the shaper rounds corners and fine detail, worked out at 5000 mm/s² acceleration. Lower keeps parts sharper. Shapers that cancel more vibration need more time to act, so they smooth more.
    Suggested max_accel
    The highest acceleration that keeps smoothing at about 0.12 mm. It is an upper limit for sharpness, not a target.
    The trade-off
    ZV smooths least but only cancels a narrow band. MZV is the usual best balance. EI, 2HUMP_EI and 3HUMP_EI cancel a wider band (good if the resonance moves, such as a bed slinger as the print gets heavier) but smooth more, so they need lower acceleration. Klipper recommends the shaper with the best balance.

    How the Input Shaper Explainer Works

    Input shaping cancels the ringing (ghosting) that appears after sharp corners. It splits each acceleration into a few smaller pulses timed so the frame's vibration from one pulse cancels the next. Klipper measures your printer's resonance with an accelerometer, tries each shaper type, and prints one line per shaper. This tool turns those lines into a table, explains them and writes the settings.

    The Formulas

    1. Ringing tower frequency
    f = V × N ÷ D
    V is the outer-wall speed in mm/s, N the number of ripples you counted and D the distance they cover in mm. This is the method in Klipper's resonance compensation guide.
    2. ZV shaper (the simplest)
    K = exp(−ζπ ÷ √(1−ζ²)), Td = 1 ÷ (f√(1−ζ²))
    pulses A = [1, K] at t = [0, Td/2]
    ζ is the damping ratio (Klipper uses 0.1). MZV uses three pulses over 0.75 Td; EI, 2HUMP_EI and 3HUMP_EI use three, four and five pulses from Klipper's fitted coefficients.
    3. Remaining vibration (the chart)
    V(f) = √(S² + C²) ÷ ΣA
    S, C = Σ Ai e−ζω(tn−ti) sin, cos(ωd ti)
    ω = 2πf and ωd = ω√(1−ζ²). V = 1 means no reduction; ZV and MZV reach zero at their tuned frequency.
    4. Smoothing and max_accel
    Klipper estimates how far the shaped path strays from a 90° or 180° corner at 5000 mm/s² and square_corner_velocity 5 mm/s. The suggested max_accel is the acceleration where that reaches 0.12 mm, rounded to 100. Use the lowest suggestion of the shapers you pick as your max_accel ceiling.

    Worked Example

    The SHAPER_CALIBRATE sample (X and Y)
    • X: Klipper recommends MZV at 53.8 Hz: 1.6% vibration left, 0.070 mm smoothing, max_accel up to 8500 mm/s². ZV at 59.0 Hz smooths less (0.051 mm) but leaves 5.1%.
    • Y: Klipper recommends MZV at 36.8 Hz with 1.7% left and max_accel up to 4000 mm/s². EI would leave a similar 2.2% but smooth much more (0.240 mm), limiting acceleration to 2500.
    • printer.cfg: shaper_type_x: mzv, shaper_freq_x: 53.8, shaper_type_y: mzv, shaper_freq_y: 36.8, and max_accel: 4000, the lower of 8500 and 4000.
    • Marlin only has ZV, so it uses the ZV fits: M593 X F59.0 D0.10, M593 Y F39.0 D0.10, then M500.
    • Ringing tower check: Klipper's guide example has 6 ripples over 12.14 mm at 100 mm/s, so f = 100 × 6 ÷ 12.14 = 49.4 Hz.

    Tips

    • Tighten belts and screws first. Input shaping cancels a resonance; it does not fix a loose belt. Re-run the test after mechanical changes or a toolhead swap.
    • Mount the accelerometer firmly on the toolhead (and on the bed for the Y axis of a bed slinger). A loose mount gives false peaks.
    • Set max_accel yourself. SHAPER_CALIBRATE and SAVE_CONFIG write the shaper only. Use the lowest suggested max_accel of your chosen shapers as a ceiling, then check a test print.
    • Very low frequencies (under about 25 Hz) usually mean something is loose or heavy. Even MZV may smooth too much there; ZV can be the better choice.
    • Tune pressure or linear advance after input shaping. Use the linear advance calculator and retraction settings, and check your steps per mm. A flat bed helps too: try the bed mesh visualizer. For printed fixtures, see hole compensation and ISO tolerance fits.

    Frequently Asked Questions

    Start with the one SHAPER_CALIBRATE recommends; it balances remaining vibration against smoothing. MZV suits most printers. EI copes better with a resonance that moves, as on bed slingers, but smooths more. 2HUMP_EI and 3HUMP_EI smooth the most and are for stubborn or multiple resonances.

    Smoothing is how far, in mm, the shaped motion rounds off sharp corners at 5000 mm/s² acceleration. A shaper that cancels more vibration spreads each move over more time, so it smooths more. Lower acceleration reduces smoothing, which is why each shaper comes with a suggested max_accel.

    No. SAVE_CONFIG stores only the shaper type and frequency for each axis. Set max_accel in the [printer] section yourself. A good ceiling is the lowest suggested max_accel of the shapers you chose, checked against a test print.

    Partly. Marlin 2.1.2 and later have ZV input shaping, set with M593 X F(frequency) D(damping) and saved with M500, when INPUT_SHAPING_X and INPUT_SHAPING_Y are enabled in the firmware. Use the ZV frequency from Klipper's results, not the MZV or EI one. Marlin's fixed-time motion feature has more shaper types, but it is set up differently.

    Print Klipper's ringing tower with input shaping off, measure the distance D across N ripples next to a notch, and calculate f = V × N ÷ D, where V is the outer wall speed in mm/s. For example, 6 ripples over 12.14 mm at 100 mm/s gives 49.4 Hz.

    Smoothing, max_accel and the chart are computed from Klipper's current shaper definitions; older Klipper versions defined EI, 2HUMP_EI and 3HUMP_EI slightly differently, so your console's figures may differ a little. The vibration percentages come only from your pasted results. Check settings with a test print.

    Published October 30, 2026.