What M220 / M221 means
M220 is the live speed or feed-rate factor. At S50, a nominal 100 mm/s move is requested at roughly half that feed rate before other limits. M221 is the extrusion or flow factor: at S95, following commanded E movement is scaled to 95 percent. Changing one does not automatically calculate the other.
These controls are useful for cautious runtime adjustment, but they are not a substitute for a correct slicer profile. Speed affects cooling, pressure and achievable flow; flow affects bead size and material use. Firmware may apply the factors at different stages of planning, and an LCD's displayed percentage may represent persistent machine state not written into the file.
Syntax and parameters
M220 S<speed-percent>M221 S<flow-percent> [T<extruder>]M220 SGlobal feed-rate percentage for following G-code motion.
M221 SExtrusion percentage applied to following E moves.
TTarget extruder for M221 on firmware that supports per-tool flow factors.
Practical examples
Run moves at 80 percent
M220 S80Reduces the feed-rate override without rewriting every F word.
Reduce commanded extrusion
M221 S95Scales following E motion to 95 percent while leaving XY feed-rate commands unchanged.
Firmware context
| System | Status | What changes |
|---|---|---|
| Marlin | Common | M220 controls feed-rate percentage and M221 controls flow percentage, with additional optional parameters. |
| Klipper | Common | Supports M220 speed factor and M221 extrude factor for slicer and host compatibility. |
| RepRapFirmware | Common | Supports speed and extrusion factors with firmware-specific per-tool and reporting details. |
| CNC controllers | Check dialect | Feed and spindle overrides may be physical controls or different commands; M221 extrusion flow is not applicable. |
What this viewer can show
The viewer applies M220 to following move duration and M221 to following filament totals. Earlier moves remain unchanged, matching their position in the command stream.
Common mistakes
- M220 S50 does not automatically halve M221; speed and material are separate states.
- A flow percentage changes commanded E, not a sensor-verified volume leaving the nozzle.
- Machine-panel overrides may never appear in the saved file, so an offline viewer cannot know them.
Primary sources
This page is an original explanation, reviewed against the firmware documentation below. Always confirm commands against the firmware and configuration on the machine that will execute them.