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 |
| Coolant |
| 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 |
| Stopping |
| M0 | | Program Pause |
| M1 | | Optional Pause |
| M2, M30 | | End Program |
| M60 | | Pallet Change Pause |
| Units |
| 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 |