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.
Results
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.
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
max_accel ceiling.Worked Example
- 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, andmax_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, thenM500. - 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
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.