CNC Lathe G-Code and M-Code Reference List for CNC Lathes

Last modified: June 26, 2024

These are the common g-codes for CNC Lathes and turning. Code categories are the groupings for the g-code Wizard (type Ctrl+G for the Wizard). Function tells what the g-code does, Notes gives a little more information such as the parameters, and Tutorial is a link (if any) to a g-code tutorial that uses G-Wizard Editor to teach how to use the g-code.  For specifics on CNC Lathe Programming, see our intro article.

Code

Category

Function

Notes

Tutorials

G00

Motion

Move in a straight line at rapids speed.

XYZ of endpoint

G00 and MDI.

Linear Motion: G00 and G01

G01

Motion

Move in a straight line at last speed commanded by a (F)eedrate

XYZ of endpoint

G01 and MDI.

Linear Motion: G00 and G01

G02

Motion

Clockwise circular arc at (F)eedrate

XYZ of endpoint

IJK relative to center

R for radius

Circular Arcs: G02 and G03

G03

Motion

Counter-clockwise circular arc at (F)eedrate

XYZ of endpoint

IJK relative to center

R for radius

Circular Arcs: G02 and G03

G04

Motion

Dwell: Stop for a specified time.

P for milliseconds

X for seconds

Precise Timing and Speed: Dwell, Exact Stop, Backlash Compensation

G09

Motion

Exact stop check

Precise Timing and Speed: Dwell, Exact Stop, Backlash Compensation

G10

Compensation

Programmable parameter input

G17

Coordinate

Select X-Y plane

Select X-Y plane

G18

Coordinate

Select X-Z plane

Select X-Z plane

G19

Coordinate

Select Y-Z plane

Select Y-Z plane

G20

Coordinate

Program coordinates are inches

G20 and G21: Unit Conversion

G21

Coordinate

Program coordinates are mm

G20 and G21: Unit Conversion

G27

Motion

Reference point return check

G28: Return to Reference Point

G28

Motion

Return to home position

G28: Return to Reference Point

G29

Motion

Return from the reference position

G28: Return to Reference Point

G30

Motion

Return to the 2nd, 3rd, and 4th reference point

G28: Return to Reference Point

G32

Canned

Constant lead threading (like G01 synchronized with spindle)

G40

Compensation

Tool cutter compensation off (radius comp.)

G41

Compensation

Tool cutter compensation left (radius comp.)

G42

Compensation

Tool cutter compensation right (radius comp.)

G43

Compensation

Apply tool length compensation (plus)

G44

Compensation

Apply tool length compensation (minus)

G49

Compensation

Tool length compensation cancel

G50

Compensation

Reset all scale factors to 1.0

G51

Compensation

Turn on scale factors

G52

Coordinate

Local workshift for all coordinate systems: add XYZ offsets

G53

Coordinate

Machine coordinate system (cancel work offsets)

G54

Coordinate

Work coordinate system (1st Workpiece)

G55

Coordinate

Work coordinate system (2nd Workpiece)

G56

Coordinate

Work coordinate system (3rd Workpiece)

G57

Coordinate

Work coordinate system (4th Workpiece)

G58

Coordinate

Work coordinate system (5th Workpiece)

G59

Coordinate

Work coordinate system (6th Workpiece)

G61

Other

Exact stop check mode

Precise Timing and Speed: Dwell, Exact Stop, Backlash Compensation

G62

Other

Automatic corner override

G63

Other

Tapping mode

G64

Other

Best speed path

G65

Other

Custom macro simple call

Subprograms and Macros

G70

Canned

Finish Turning Cycle

G71

Canned

Rough Turning Cycle

G71: Rough Turning Cycle

G71 Type II: Rough Turning With "Pockets"

G72

Canned

Rough Facing Cycle

G73

Canned

Pattern Repeating Cycle

G74

Canned

Peck Drilling Cycle

G75

Canned

Grooving Cycle

G76

Canned

Threading Cycle

G76 Lathe Threading Cycle

G80

Canned

Cancel canned cycle

G83

Canned

Face drilling cycle

G84

Canned

Face Tapping cycle

G86

Canned

Boring canned cycle, spindle stop, rapid out

G87

Canned

Side Drilling Cycle

G88

Canned

Side Tapping Cycle

G89

Canned

Side Boring Cycle

G90

Coordinate

Absolute programming of XYZ (type B and C systems)

G90 and G91 Absolute vs Incremental Mode

G90.1

Coordinate

Absolute programming IJK (type B and C systems)

G91

Coordinate

Incremental programming of XYZ (type B and C systems)

G90 and G91 Absolute vs Incremental Mode

G91.1

Coordinate

Incremental programming IJK (type B and C systems)

G92

Coordinate

Thread Cutting Cycle

G92 (alternate)

Motion

Clamp of maximum spindle speed

S

G94

Motion

Endface Turning Cycle

G96

Motion

Constant Surface Speed ON

G96: Constant Surface Speed

G97

Motion

Constant Surface Speed Cancel

G96: Constant Surface Speed

G98

Motion

Feedrate per Minute

G98 G-Code and G99 G-Code: Canned Cycle Return or Feedrate Modes

G99

Motion

Feedrate per Revolution

G98 G-Code and G99 G-Code: Canned Cycle Return or Feedrate Modes

G190

Motion

Radius mode

CNC Lathe Programming

G191

Motion

Diameter mode

CNC Lathe Programming

M-Codes

Code

Category

Function

Notes

Tutorials

M00

M-Code

Program Stop (non-optional)

M01

M-Code

Optional Stop: Operator Selected to Enable

M02

M-Code

End of Program

M03

M-Code

Spindle ON (CW Rotation)

M03 Spindle On Clockwise

M04

M-Code

Spindle ON (CCW Rotation)

M04 Spindle on Counter Clockwise

M05

M-Code

Spindle Stop

M05 Spindle Off.

M06

M-Code

Tool Change

M07

M-Code

Mist Coolant ON

M07 and MDI.

M08

M-Code

Flood Coolant ON

M08 and MDI.

M09

M-Code

Coolant OFF

M09 and MDI.

M13

M-Code

Spindle ON (CW Rotation) + Coolant ON

M13 and MDI.

M14

M-Code

Spindle ON (CCW Rotation) + Coolant ON

M14 and MDI.

M30

M-Code

End of Program, Rewind and Reset Modes

M97

M-Code

Haas-Style Subprogram Call

Subprograms and Macros

M98

M-Code

Subprogram Call

Subprograms and Macros

M99

M-Code

Return from Subprogram

Subprograms and Macros

Bonus: Check Out our Other CNC Cookbooks for More In-Depth CNC Information!

If you're a CNC Beginnner, check out our CNC Beginner's Cookbook. It'll get you up to speed with a solid CNC foundation fast.

We also have Cookbooks for Feeds and Speeds, G-Code Programming, CNC Manufacturing and Shop Management, DIY CNC, and don't forget the CNC Cookbook Blog-with over 4 million visitors a year it's the most popular CNC blog by far on the web.

More Resources

G75 and Peck Parting Off For Lathes

Mazatrol Training Classes

Fanuc CNC Training Classes

Turning Feeds and Speeds Calculator

Be the first to know about updates at CNC Cookbook

Join our newsletter to get updates on what's next at CNC Cookbook.