What G10 / G11 means

Firmware retraction stores retraction length, speed, extra recovery and optional Z lift in the printer rather than repeating those values as E moves throughout every file. G10 starts the configured retract; G11 reverses it before printing resumes. Marlin uses M207 and M208 for the underlying settings, while Klipper requires a firmware_retraction configuration section.

G10 is especially dialect-sensitive. RepRapFirmware treats parameterless G10 as retract but uses forms such as G10 P... for tool temperatures or offsets. LinuxCNC uses G10 to set coordinate-system or tool-table data. A parser must inspect parameters and target dialect instead of labelling every G10 as filament retraction.

Syntax and parameters

G10
G10 S1 ; Marlin swap retract
G11
No parameter

Normal firmware retract or recover on compatible 3D-printer firmware.

S1

Marlin swap-retract request for a multi-extruder tool change, when enabled.

P / L / axes

May change G10 into a tool or coordinate-setting command in other dialects.

Practical examples

Retract around a travel

G10
G0 X120 Y80 F9000
G11

Uses firmware-stored values instead of explicit negative and positive E moves.

Configure Marlin, then retract

M207 S0.8 F2400 Z0.2
M208 S0.05 F1800
G10

Sets an illustrative retract and recover profile before calling it. The values are not universal recommendations.

Firmware context

SystemStatusWhat changes
MarlinCommonAvailable when FWRETRACT is enabled; M207/M208 define retract and recover behavior.
KlipperCheck dialectG10/G11 are available only when the firmware_retraction section is configured.
RepRapFirmwareCheck dialectParameterless G10 retracts, while parameterized G10 can set tools, temperatures or offsets.
CNC controllersCheck dialectG10 commonly changes coordinate or tool data; G11 is not a matching filament-recovery command.

What this viewer can show

Retraction event analyzed

The viewer marks G10/G11 retract and prime events. It uses M207/M208 or slicer metadata when a length is available; otherwise the amount is explicitly shown as unavailable rather than guessed.

Common mistakes

  • Do not send a printer-style G10 to a CNC controller without checking its meaning.
  • A bare G10 file does not reveal retract length unless the setting appears in the file or slicer metadata.
  • Repeated G10 commands may be ignored until a matching G11 occurs, depending on firmware state.

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.