---
tag: g010
title: Retract
brief: Retract the filament
author: thinkyhead

since: 1.0.0-beta
requires: FWRETRACT
group: motion

codes: [ G10 ]

notes:
  - Requires `FWRETRACT`.
  - See related codes [`G11`](/docs/gcode/G011.html), [`M207`](/docs/gcode/M207.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html).

parameters:
  -
    tag: S
    optional: true
    description: Use `G10 S1` to do a swap retraction, before changing extruders. The subsequent [`G11`](/docs/gcode/G011.html) (after tool change) will do a swap recover. (Requires `EXTRUDERS` > 1)
    values:
      -
        type: bool

example:
  -
    code:
      - G10 ; retract
---

Retract the filament according to settings of [`M207`](/docs/gcode/M207.html).

Firmware retraction allows you to tune retraction at the machine level and can significantly reduce the size of G-code files.

Multiple consecutive `G10` or `G10 S1` commands without a corresponding [`G11`](/docs/gcode/G011.html) or `G11 S1` will be ignored.

Performs two moves: a retract move at the retract feedrate/acceleration, and an optional Z lift at the maximum Z feedrate (travel acceleration).
