This documentation is no longer maintained. For documentation of the current version of emc2, please see
EMC2 "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 Coordinated helical motion ("Arc feed") CW or CCW
G4 P Dwell (no motion for P seconds)
G38.2…G38.5 Straight probe
G80 Cancel motion mode
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
G33 K Spindle-synchronized motion
G33.1 K Rigid tapping
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
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 Constant surface speed mode (foot/minute or meter/minute) with top 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 Pause Program
M1 Optional Stop
M2 End Program
M1, M30, M60 Other stop codes
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
M50…M53 P0 (off) or P1 (on) Feed Override, Spindle Override, Adaptive Feed, Feed Hold
G54…G59, G59.1…G59.3 Select coordinate system
Flow-control Codes
O … sub/endsub, while/endwhile, if/else/endif, do/while, call, break/continue/return
Non-modal Codes
M6 T Change tool
G4 P Dwell (seconds)
G10 L1 P Q R X W Z Tool offset, radius, orientation setting
G10 L2 P X Y Z A B C Coordinate system origin setting
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 X Y Z A B C 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
(…) A comment "" to the user
(MSG,…) Display the message "" to the user (e.g., in a popup)
(DEBUG,…#123…#<foo>) Display the message (with variables substituted) like MSG
(PRINT,…#123…#<foo>) Display the message (with variables substituted) to stderr