Complete list of cnc machine G codes and M codes.
This G code and M code list can be used as reference while programming or learning cnc machine programming.
Complete list of G and M codes which are common in almost all the cnc controls which are used in cnc machine workshops around the world.
CNC Milling G Code List
| G code | Description |
|---|---|
| G00 | Rapid traverse |
| G01 | Linear interpolation |
| G02 | Circular interpolation CW |
| G03 | Circular interpolation CCW |
| G04 | Dwell |
| G17 | X Y plane selection |
| G18 | Z X plane selection |
| G19 | Y Z plane selection |
| G28 | Return to reference position |
| G30 | 2nd, 3rd and 4th reference position return |
| G40 | Cutter compensation cancel |
| G41 | Cutter compensation left |
| G42 | Cutter compensation right |
| G43 | Tool length compensation + direction |
| G44 | Tool length compensation – direction |
| G49 | Tool length compensation cancel |
| G53 | Machine coordinate system selection |
| G54 | Workpiece coordinate system 1 selection |
| G55 | Workpiece coordinate system 2 selection |
| G56 | Workpiece coordinate system 3 selection |
| G57 | Workpiece coordinate system 4 selection |
| G58 | Workpiece coordinate system 5 selection |
| G59 | Workpiece coordinate system 6 selection |
| G68 | Coordinate rotation |
| G69 | Coordinate rotation cancel |
| G73 | Peck drilling cycle |
| G74 | Left-spiral cutting circle |
| G76 | Fine boring cycle |
| G80 | Canned cycle cancel |
| G81 | Drilling cycle, spot boring cycle |
| G82 | Drilling cycle or counter boring cycle |
| G83 | Peck drilling cycle |
| G84 | Tapping cycle |
| G85 | Boring cycle |
| G86 | Boring cycle |
| G87 | Back boring cycle |
| G88 | Boring cycle |
| G89 | Boring cycle |
| G90 | Absolute command |
| G91 | Increment command |
| G92 | Setting for work coordinate system or clamp at maximum spindle speed |
| G98 | Return to initial point in canned cycle |
| G99 | Return to R point in canned cycle |
CNC Lathe G Code List
| G code | Description |
|---|---|
| G00 | Rapid traverse |
| G01 | Linear interpolation |
| G02 | Circular interpolation CW |
| G03 | Circular interpolation CCW |
| G04 | Dwell |
| G09 | Exact stop |
| G10 | Programmable data input |
| G20 | Input in inch |
| G21 | Input in mm |
| G22 | Stored stroke check function on |
| G23 | Stored stroke check function off |
| G27 | Reference position return check |
| G28 | Return to reference position |
| G32 | Thread cutting |
| G40 | Tool nose radius compensation cancel |
| G41 | Tool nose radius compensation left |
| G42 | Tool nose radius compensation right |
| G70 | Finish machining cycle |
| G71 | Turning cycle |
| G72 | Facing cycle |
| G73 | Pattern repeating cycle |
| G74 | Peck drilling cycle |
| G75 | Grooving cycle |
| G76 | Threading cycle |
| G92 | Coordinate system setting or max. spindle speed setting |
| G94 | Feed Per Minute |
| G95 | Feed Per Revolution |
| G96 | Constant surface speed control |
| G97 | Constant surface speed control cancel |
CNC Milling M Code List
| M code | Description |
|---|---|
| M00 | Program stop |
| M01 | Optional program stop |
| M02 | End of program |
| M03 | Spindle start forward CW |
| M04 | Spindle start reverse CCW |
| M05 | Spindle stop |
| M06 | Too change |
| M07 | Coolant ON – Mist coolant/Coolant thru spindle |
| M08 | Coolant ON – Flood coolant |
| M09 | Coolant OFF |
| M19 | Spindle orientation |
| M28 | Return to origin |
| M29 | Rigid tap |
| M30 | End of program (Reset) |
| M41 | Low gear select |
| M42 | High gear select |
| M94 | Cancel mirrorimage |
| M95 | Mirrorimage of X axis |
| M96 | Mirrorimage of Y axis |
| M98 | Subprogram call |
| M99 | End of subprogram |
CNC Lathe M Code List
| M code | Description |
|---|---|
| M00 | Program stop |
| M01 | Optional program stop |
| M02 | End of program |
| M03 | Spindle start forward CW |
| M04 | Spindle start reverse CCW |
| M05 | Spindle stop |
| M08 | Coolant on |
| M09 | Coolant off |
| M29 | Rigid tap mode |
| M30 | End of program reset |
| M40 | Spindle gear at middle |
| M41 | Low Gear Select |
| M42 | High Gear Select |
| M68 | Hydraulic chuck close |
| M69 | Hydraulic chuck open |
| M78 | Tailstock advancing |
| M79 | Tailstock reversing |
| M94 | Mirrorimage cancel |
| M95 | Mirrorimage of X axis |
| M98 | Subprogram call |
| M99 | End of subprogram |