- G0-G1: Linear Move
- G2-G3: Arc or Circle Move
- G4: Dwell
- G5: Bézier Cubic Spline
- G6: Direct Stepper Move
- G10: Retract
- G11: Recover
- G12: Clean the Nozzle
- G17-G19: CNC Workspace Planes
- G20: Inch Units
- G21: Millimeter Units
- G26: Mesh Validation Pattern
- G27: Park toolhead
- G28: Auto Home
- G29: Bed Leveling
- G29: Bed Leveling (3-Point)
- G29: Bed Leveling (Linear)
- G29: Bed Leveling (Manual)
- G29: Bed Leveling (Bilinear)
- G29: Bed Leveling (Unified)
- G30: Single Z-Probe
- G31: Dock Sled
- G32: Undock Sled
- G33: Delta Auto Calibration
- G34: Z Steppers Auto-Alignment
- G34: Mechanical Gantry Calibration
- G35: Tramming Assistant
- G38.2-G38.5: Probe target
- G42: Move to mesh coordinate
- G53: Move in Machine Coordinates
- G54-G59.3: Workspace Coordinate System
- G60: Stored Positions
- G61: Return to Saved Position
- G76: Probe temperature calibration
- G80: Cancel Current Motion Mode
- G90: Absolute Positioning
- G91: Relative Positioning
- G92: Set Position
- G425: Backlash Calibration
- M0-M1: Unconditional stop
- M3: Spindle CW / Laser On
- M4: Spindle CCW / Laser On
- M5: Spindle / Laser Off
- M7-M9: Coolant Controls
- M10-M11: Vacuum / Blower Control
- M16: Expected Printer Check
- M17: Enable Steppers
- M18, M84: Disable steppers
- M20: List SD Card
- M21: Init SD card
- M22: Release SD card
- M23: Select SD file
- M24: Start or Resume SD print
- M25: Pause SD print
- M26: Set SD position
- M27: Report SD print status
- M28: Start SD write
- M29: Stop SD write
- M30: Delete SD file
- M31: Report Print Time
- M32: Select and Start
- M33: Get Long Path
- M34: SDCard Sorting
- M42: Set Pin State
- M43: Debug Pins
- M43 T: Toggle Pins
- M48: Probe Repeatability Test
- M73: Set Print Progress
- M75: Start Print Job Timer
- M76: Pause Print Job Timer
- M77: Stop Print Job Timer
- M78: Print Job Stats
- M80: Power On
- M81: Power Off
- M82: E Absolute
- M83: E Relative
- M85: Inactivity Shutdown
- M86: Hotend Idle Timeout
- M87: Disable Hotend Idle Timeout
- M92: Set Axis Steps-per-unit
- M100: Free Memory
- M102: Configure Bed Distance Sensor
- M104: Set Hotend Temperature
- M105: Report Temperatures
- M106: Set Fan Speed
- M107: Fan Off
- M108: Break and Continue
- M109: Wait for Hotend Temperature
- M110: Set / Get Line Number
- M111: Debug Level
- M112: Full Shutdown
- M113: Host Keepalive
- M114: Get Current Position
- M115: Firmware Info
- M117: Set LCD Message
- M118: Serial print
- M119: Endstop States
- M120: Enable Endstops
- M121: Disable Endstops
- M122: TMC Debugging
- M123: Fan Tachometers
- M125: Park Head
- M126: Baricuda 1 Open
- M127: Baricuda 1 Close
- M128: Baricuda 2 Open
- M129: Baricuda 2 Close
- M140: Set Bed Temperature
- M141: Set Chamber Temperature
- M143: Set Laser Cooler Temperature
- M145: Set Material Preset
- M149: Temperature Units
- M150: Set RGB(W) Color
- M154: Position Auto-Report
- M155: Temperature Auto-Report
- M163: Set Mix Factor
- M164: Save Mix
- M165: Set Mix
- M166: Gradient Mix
- M190: Wait for Bed Temperature
- M191: Wait for Chamber Temperature
- M192: Wait for Probe temperature
- M193: Wait For Laser Cooler Temperature
- M200: Volumetric Extrusion Diameter
- M201: Print / Travel Move Limits
- M203: Set Max Feedrate
- M204: Set Starting Acceleration
- M205: Set Advanced Settings
- M206: Set Home Offsets
- M207: Firmware Retraction Settings
- M208: Firmware Recover Settings
- M209: Set Auto Retract
- M210: Homing Feedrate
- M211: Software Endstops
- M217: Filament swap parameters
- M218: Set Hotend Offset
- M220: Set Feedrate Percentage
- M221: Set Flow Percentage
- M226: Wait for Pin State
- M240: Trigger Camera
- M250: LCD Contrast
- M255: LCD Sleep/Backlight Timeout
- M256: LCD Brightness
- M260: I2C Send
- M261: I2C Request
- M280: Servo Position
- M281: Edit Servo Angles
- M282: Detach Servo
- M290: Babystep
- M300: Play Tone
- M301: Set Hotend PID
- M302: Cold Extrude
- M303: PID autotune
- M304: Set Bed PID
- M305: User Thermistor Parameters
- M306: Model Predictive Temp. Control
- M350: Set micro-stepping
- M351: Set Microstep Pins
- M355: Case Light Control
- M360: SCARA Theta A
- M361: SCARA Theta-B
- M362: SCARA Psi-A
- M363: SCARA Psi-B
- M364: SCARA Psi-C
- M380: Activate Solenoid
- M381: Deactivate Solenoids
- M400: Finish Moves
- M401: Deploy Probe
- M402: Stow Probe
- M403: MMU2 Filament Type
- M404: Filament Width Sensor Nominal Diameter
- M405: Filament Width Sensor On
- M406: Filament Width Sensor Off
- M407: Read Filament Width
- M410: Quickstop
- M412: Filament Runout
- M413: Power-loss Recovery
- M420: Bed Leveling State
- M421: Set Mesh Value
- M422: Set Z Motor XY
- M423: X Twist Compensation
- M425: Backlash compensation
- M428: Home Offsets Here
- M430: Power Monitor
- M486: Cancel Objects
- M493: Fixed-Time Motion
- M500: Save Settings
- M501: Restore Settings
- M502: Factory Reset
- M503: Report Settings
- M504: Validate EEPROM contents
- M510: Lock Machine
- M511: Unlock Machine
- M512: Set Passcode
- M524: Abort SD print
- M540: Endstops Abort SD
- M569: Set TMC stepping mode
- M575: Serial baud rate
- M592: Nonlinear Extrusion Control
- M593: ZV Input Shaping
- M600: Filament Change
- M603: Configure Filament Change
- M605: Multi Nozzle Mode
- M665: Delta Configuration
- M665: SCARA Configuration
- M666: Set Delta endstop adjustments
- M666: Set dual endstop offsets
- M672: Duet Smart Effector sensitivity
- M701: Load filament
- M702: Unload filament
- M710: Controller Fan settings
- M808: Repeat Marker
- M810-M819: G-code macros
- M851: XYZ Probe Offset
- M852: Bed Skew Compensation
- M860-M869: I2C Position Encoders
- M871: Probe temperature config
- M876: Handle Prompt Response
- M900: Linear Advance Factor
- M906: Stepper Motor Current
- M907: Trimpot Stepper Motor Current
- M908: Set Trimpot Pins
- M909: Report DAC Stepper Current
- M910: Commit DAC to EEPROM
- M911: TMC OT Pre-Warn Condition
- M912: Clear TMC OT Pre-Warn
- M913: Set Hybrid Threshold Speed
- M914: TMC Bump Sensitivity
- M915: TMC Z axis calibration
- M916: L6474 Thermal Warning Test
- M917: L6474 Overcurrent Warning Test
- M918: L6474 Speed Warning Test
- M919: TMC Chopper Timing
- M928: Start SD Logging
- M951: Magnetic Parking Extruder
- M993: Back up flash settings to SD
- M994: Restore flash from SD
- M995: Touch Screen Calibration
- M997: Firmware update
- M999: STOP Restart
- M7219: MAX7219 Control
- T0-T7: Select or Report Tool
- T?-Tx: MMU2 Special Commands
G-code Index
G2-G3 - Arc or Circle Move
Add an arc or circle movement to the planner
G6 - Direct Stepper Move
Perform a direct, uninterpolated, and non-kinematic synchronized move
G29 - Bed Leveling (3-Point)
Probe the bed and enable leveling compensation.
G29 - Bed Leveling (Bilinear)
Probe the bed and enable leveling compensation.
G29 - Bed Leveling (Linear)
Probe the bed and enable leveling compensation.
G29 - Bed Leveling (Manual)
Measure Z heights in a grid, enable leveling compensation
G29 - Bed Leveling (Unified)
Probe the bed and enable leveling compensation.
G29 - Bed Leveling
Probe the bed and enable leveling compensation
G33 - Delta Auto Calibration
Calibrate various Delta parameters
G34 - Mechanical Gantry Calibration
Modern replacement for Průša's TMC_Z_CALIBRATION
G34 - Z Steppers Auto-Alignment
Align multiple Z steppers using a bed probe
G38.2-G38.5 - Probe target
Probe towards (or away from) a workpiece
G42 - Move to mesh coordinate
Move to a specific point in the leveling mesh
G53 - Move in Machine Coordinates
Apply native workspace to the current move.
G54-G59.3 - Workspace Coordinate System
Select a workspace coordinate system
G76 - Probe temperature calibration
Calibrate probe temperature compensation
G425 - Backlash Calibration
Use a conductive object to calibrate XYZ backlash
M3 - Spindle CW / Laser On
Set the spindle CW speed or laser power
M4 - Spindle CCW / Laser On
Set the spindle CCW speed or laser power
M10-M11 - Vacuum / Blower Control
Enable and disable the Cutter Vacuum or Laser Blower Motor.
M16 - Expected Printer Check
Prevent G-code usage on the wrong machine
M33 - Get Long Path
Convert a short pathname to a long pathname.
M48 - Probe Repeatability Test
Measure Z Probe repeatability.
M73 - Set Print Progress
Set current print progress percentage for LCD.
M87 - Disable Hotend Idle Timeout
Disable the hotend idle timeout.
M102 - Configure Bed Distance Sensor
Set parameters for the Bed Distance Sensor.
M125 - Park Head
Save current position and move to filament change position.
M143 - Set Laser Cooler Temperature
Set a new target laser coolant temperature.
M149 - Temperature Units
Set temperature units to Celsius, Fahrenheit, or Kelvin.
M150 - Set RGB(W) Color
Set the color of the RGB(W) LED, backlight, or LED strip.
M154 - Position Auto-Report
Periodically auto-report position to serial
M155 - Temperature Auto-Report
Auto-report temperatures to host periodically.
M165 - Set Mix
Set all mix factors for the mixing extruder.
M192 - Wait for Probe temperature
Wait for the probe temperature sensor to reach a target
M193 - Wait For Laser Cooler Temperature
Set and wait for a new target laser coolant temperature
M201 - Print / Travel Move Limits
Set acceleration / frequency limits for print and travel moves.
M210 - Homing Feedrate
Set homing feedrate for one or more axes
M211 - Software Endstops
Set and/or get the software endstops state
M217 - Filament swap parameters
Set length and speed for filament swapping
M255 - LCD Sleep/Backlight Timeout
Set and/or get the LCD Sleep Timeout.
M302 - Cold Extrude
Set minimum extrusion temperature, allow cold extrusion.
M305 - User Thermistor Parameters
Set (or report) custom thermistor parameters
M404 - Filament Width Sensor Nominal Diameter
Set the nominal diameter for filament width sensor auto-flow
M405 - Filament Width Sensor On
Enable filament width sensor flow control
M406 - Filament Width Sensor Off
Disable filament width sensor flow control
M407 - Read Filament Width
Report the current reading from the Filament Width Sensor
M412 - Filament Runout
Get/set filament runout detection parameters
M420 - Bed Leveling State
Get and/or set bed leveling state and parameters
M421 - Set Mesh Value
Set a single mesh Z height
M422 - Set Z Motor XY
Set a Z motor position for G34 Auto-Alignment
M423 - X Twist Compensation
Modify, reset, and report X-Axis Twist Compensation data
M425 - Backlash compensation
Enable and tune backlash compensation
M430 - Power Monitor
Read and display current (A), voltage (V), and power (W)
M493 - Fixed-Time Motion
Enable/disable and configure Fixed-Time Motion, Linear Advance, and Input Shaping
M512 - Set Passcode
Set a numeric passcode for locking the machine
M524 - Abort SD print
Abort an SD print started with [`M24`](/docs/gcode/M024.html)
M540 - Endstops Abort SD
Abort SD printing when an endstop is triggered.
M592 - Nonlinear Extrusion Control
Get or set Nonlinear Extrusion parameters
M593 - ZV Input Shaping
Get or set Marlin's integrated ZV Input Shaping parameters
M603 - Configure Filament Change
Configure automatic filament change parameters
M605 - Multi Nozzle Mode
Set the behavior mode for a multiple nozzle setup
M672 - Duet Smart Effector sensitivity
Set Duet Smart Effector sensitivity
M701 - Load filament
Load filament
M702 - Unload filament
Unload filament
M710 - Controller Fan settings
Set or report controller fan settings
M860-M869 - I2C Position Encoders
I2C position encoders for closed loop control
M871 - Probe temperature config
Configure probe temperature compensation
M906 - Stepper Motor Current
Set the motor current (in milliamps)
M907 - Trimpot Stepper Motor Current
Set motor current via digital trimpot
M911 - TMC OT Pre-Warn Condition
Driver overtemperature pre-warn condition
M912 - Clear TMC OT Pre-Warn
Clear overtemperature pre-warn condition flag
M913 - Set Hybrid Threshold Speed
TMC driver switching to spreadCycle
M915 - TMC Z axis calibration
Align ends of the Z axis and test torque
M916 - L6474 Thermal Warning Test
Find L6474 drive level (KVAL_HOLD) threshold
M917 - L6474 Overcurrent Warning Test
Find L6474 minimum current thresholds
M919 - TMC Chopper Timing
Set Chopper Timing values for TMC stepper drivers
M951 - Magnetic Parking Extruder
Set / report Magnetic Parking Extruder settings
M993 - Back up flash settings to SD
Create a backup of SPI Flash to SD
M994 - Restore flash from SD
Restore a backup from SD to SPI Flash
M995 - Touch Screen Calibration
Touch screen calibration for TFT display