LinuxCNC "G-Code" Quick Reference
Code Parameters Description
Motion (X Y Z A B C U V W apply to all motions)
G0 Rapid motion
G1 Coordinated motion ("Straight feed")
G2, G3 I J K or R, P Coordinated helical motion ("Arc feed") CW or CCW
G4 P Dwell (no motion for P seconds)
G5 I J P Q Cubic spline
G5.1 I J Quadratic spline
G5.2 P L NURBS, add control point
G5.3 NURBS, execute
G38.2…G38.5 Straight probe
G33 K Spindle-synchronized motion
G33.1 K Rigid tapping
G80 Cancel motion mode
Canned cycles (X Y Z or U V W apply to canned cycles, depending on active plane)
G81, G82 R L (P) Drilling cycle without (with) dwell
G83, G73 R L Q Peck and Chip-break drilling cycles
G85, G89 R L (P) Boring cycle without (with) dwell
G76 P Z I J R K Q H L E Multipass lathe threading cycle
Distance Mode
G90 Absolute distance mode
G91 Incremental distance mode
G90.1 Arc centers I,J,K are absolute
G91.1 Arc centers I,J,K are relative to the arc's starting point
G7 X Diameter mode (lathe)
G8 X Radius mode (lathe)
Feed Rate Mode
G93 Inverse time feed rate
G94 Units per minute feed rate
G95 Units per revolution
Spindle Control
M3, M4 S Turn spindle clockwise or counterclockwise
M5 Stop spindle
G96 S D CSS mode (Constant Surface Speed)
G97 RPM mode
M7 Turn mist on
M8 Turn flood on
M9 Turn all coolant off
Tool Length Offset
G43 H Use tool length offset from tool table
G43.1 I K Use specified tool length offset for transient tool
G49 Cancel tool length offset
M0 Program Pause
M1 Optional Pause
M2, M30 End Program
M60 Pallet Change Pause
G20 Inches
G21 Millimeters
Plane Selection (affects G2, G3, G81…G89, G40…G42)
G17 Select XY plane
G18 Select XZ plane
G19 Select YZ plane
Cutter Radius Compensation
G40 Cancel cutter radius compensation
G41,G42 D Start cutter radius compensation left or right
G41.1, G42.1 D L Start cutter radius compensation left or right, transient tool
Path Control Mode
G61 Exact Path mode
G61.1 Exact Stop mode
G64 P Continuous mode with optional path tolerance
Return Mode in Canned Cycles
G98 Retract to prior position
G99 Retract to R position
Other Modal Codes
F Set Feed Rate
S Set Spindle Speed
T Select Tool (also see M6)
M48, M49 Speed and Feed Override Control
M50 P0 (off) or P1 (on) Feed Override Control
M51 P0 (off) or P1 (on) Spindle Speed Override Control
M52 P0 (off) or P1 (on) Adaptive Feed Control
M53 P0 (off) or P1 (on) Feed Stop Control
G54…G59.3 Select coordinate system
Flow-control Codes
O- sub Subroutines, sub/endsub call
O- while Looping, while/endwhile do/while
O- if Conditional, if/else/endif
O- repeat Run enclosed code more than once
Input/Output Codes
M62…M65 P Digital Output Control
M66 P E L Q Digital and Analog Input Control
M67 T Analog Output Synchronized with Motion
M68 T Analog Output Immediate
Non-modal Codes
M6 T Change tool
M61 Q Set Current Tool
G4 P Dwell (seconds)
G10 L1 P Q R axes Tool offset, radius, orientation setting
G10 L10 P axes Tool offset, setting calculated from workpiece
G10 L11 P axes Tool offset, setting calculated from fixture
G10 L2 P R axes Coordinate system origin, rotation setting
G10 L20 P axes Coordinate system origin setting calculated
G28, G28.1 Return to or Set reference point 1
G30, G30.1 Return to or Set reference point 2
G53 Motion in machine coordinate system
G92 axes Offset coordinate systems and set parameters
G92.1 Cancel offset coordinate systems and set parameters to zero
G92.2 Cancel offset coordinate systems but do not reset parameters
G92.3 Apply parameters to offset coordinate systems
M101…M199 P Q User-defined M-codes
Comments & Messages
(…) An inline comment
(MSG,…) Display a message "" to the user (e.g., in a popup)
(DEBUG,…) Display a message (with variables substituted) like MSG
(PRINT,…) Display a message (with variables substituted) to stderr