Haas mill G-codes
- G00 Rapid motion positioning
- G01 Linear interpolation motion
- G02 Circular interpolation CW
- G03 Circular interpolation CCW
- G04 Dwell
- G09 Exact stop (non-modal)
- G10 Set offsets
- G12 Circular pocket milling CW
- G13 Circular pocket milling CCW
- G17 XY plane selection
- G18 XZ plane selection
- G19 YZ plane selection
- G20 Inch mode
- G21 Metric mode
- G28 Return to machine zero
- G29 Return from reference point
- G31 Feed until skip (probing)
- G35 Automatic tool diameter measurement
- G36 Automatic work offset measurement
- G37 Automatic tool length measurement
- G40 Cutter compensation cancel
- G41 Cutter compensation left
- G42 Cutter compensation right
- G43 Tool length compensation +
- G44 Tool length compensation −
- G47 Text engraving
- G49 Tool length compensation cancel
- G50 Cancel scaling
- G51 Scaling
- G52 Local coordinate system
- G53 Machine coordinate move
- G54 Work offset #1 (G54–G59)
- G61 Exact stop (modal)
- G64 Exact stop cancel
- G65 Macro subroutine call
- G68 Coordinate rotation
- G69 Rotation cancel
- G70 Bolt hole circle
- G71 Bolt hole arc
- G72 Bolt holes along an angle
- G73 High-speed peck drilling
- G74 Reverse tapping
- G76 Fine boring
- G77 Back bore
- G80 Canned cycle cancel
- G81 Drill canned cycle
- G82 Spot drill / counterbore
- G83 Normal peck drilling
- G84 Tapping
- G85 Boring (bore in, bore out)
- G86 Bore and stop
- G89 Bore in, dwell, bore out
- G90 Absolute positioning
- G91 Incremental positioning
- G92 Set work coordinate shift
- G93 Inverse time feed
- G94 Feed per minute
- G95 Feed per revolution
- G98 Canned cycle initial point return
- G99 Canned cycle R plane return
- G100 Cancel mirror image
- G101 Enable mirror image
- G103 Limit block lookahead
- G150 General purpose pocket milling
- G154 Extended work offsets P1–P99
- G187 Smoothness control
Haas lathe G-codes
- G00 Rapid motion positioning
- G01 Linear interpolation (with chamfer / radius)
- G02 Circular interpolation CW
- G03 Circular interpolation CCW
- G04 Dwell
- G09 Exact stop
- G10 Set offsets
- G14 Secondary spindle swap
- G15 Secondary spindle swap cancel
- G17 XY plane
- G18 XZ plane (default)
- G19 YZ plane
- G20 Inch mode
- G21 Metric mode
- G28 Return to machine zero
- G29 Return from reference point
- G31 Feed until skip
- G32 Thread cutting
- G40 Tool nose compensation cancel
- G41 Tool nose compensation left
- G42 Tool nose compensation right
- G50 Spindle speed limit / set coordinates
- G52 Local coordinate system
- G53 Machine coordinate move
- G54 Work offset #1 (G54–G59)
- G61 Exact stop (modal)
- G64 Exact stop cancel
- G65 Macro subroutine call
- G70 Finishing cycle
- G71 OD/ID stock removal
- G72 End face stock removal
- G73 Irregular path stock removal
- G74 End face grooving / peck drilling
- G75 OD/ID grooving
- G76 Threading cycle, multiple pass
- G80 Canned cycle cancel
- G81 Drill canned cycle
- G82 Spot drill canned cycle
- G83 Normal peck drilling
- G84 Tapping
- G85 Boring
- G86 Bore and stop
- G89 Bore and dwell
- G90 OD/ID turning cycle
- G92 Threading cycle
- G94 End facing cycle
- G95 Live tooling rigid tap (face)
- G96 Constant surface speed on
- G97 Constant surface speed off
- G98 Feed per minute
- G99 Feed per revolution
- G100 Disable mirror image
- G101 Enable mirror image
- G103 Limit block lookahead
- G112 XY to XC interpolation (live tooling)
- G113 Cancel XY to XC interpolation
- G154 Extended work offsets P1–P99
- G184 Reverse tapping
- G186 Live tool reverse rigid tap
- G187 Smoothness control
- G195 Live tool radial tapping
- G196 Live tool radial reverse tapping
- G200 Index on the fly
- G241 Radial drill
- G242 Radial spot drill
- G243 Radial peck drill
- G245 Radial bore
Mill M-codes
- M00 Program stop
- M01 Optional program stop
- M02 Program end
- M03 Spindle on, forward (CW)
- M04 Spindle on, reverse (CCW)
- M05 Spindle stop
- M06 Tool change
- M07 Shower coolant on (option)
- M08 Coolant on
- M09 Coolant off
- M10 4th axis brake engage
- M11 4th axis brake release
- M12 5th axis brake engage
- M13 5th axis brake release
- M16 Tool change (same as M06)
- M19 Orient spindle
- M30 Program end and reset
- M31 Chip conveyor forward
- M33 Chip conveyor stop
- M34 Coolant spigot increment
- M35 Coolant spigot decrement
- M41 Low gear override
- M42 High gear override
- M46 Jump if pallet loaded
- M50 Execute pallet change
- M59 Set output relay
- M69 Clear output relay
- M80 Automatic door open
- M81 Automatic door close
- M83 Auto air gun on
- M84 Auto air gun off
- M86 Tool clamp
- M88 Through-spindle coolant on
- M89 Through-spindle coolant off
- M95 Sleep mode
- M96 Jump if no input
- M97 Local subprogram call
- M98 Subprogram call
- M99 Subprogram return or loop
- M109 Interactive user input
Lathe M-codes
- M00 Program stop
- M01 Optional program stop
- M02 Program end
- M03 Spindle forward
- M04 Spindle reverse
- M05 Spindle stop
- M08 Coolant on
- M09 Coolant off
- M10 Chuck clamp
- M11 Chuck unclamp
- M12 Auto air jet on
- M13 Auto air jet off
- M14 Main spindle clamp
- M15 Main spindle unclamp
- M19 Orient spindle
- M21 Tailstock advance
- M22 Tailstock retract
- M23 Chamfer out of thread on
- M24 Chamfer out of thread off
- M30 Program end and reset
- M31 Chip auger forward
- M33 Chip auger stop
- M36 Parts catcher on
- M37 Parts catcher off
- M41 Low gear
- M42 High gear
- M59 Set output relay
- M69 Clear output relay
- M85 Automatic door open
- M86 Automatic door close
- M88 High-pressure coolant on
- M89 High-pressure coolant off
- M95 Sleep mode
- M97 Local subprogram call
- M98 Subprogram call
- M99 Subprogram return or loop
- M110 Secondary spindle chuck clamp
- M111 Secondary spindle chuck unclamp
- M133 Live tool forward
- M134 Live tool reverse
- M135 Live tool stop
- M143 Secondary spindle forward
- M144 Secondary spindle reverse
- M145 Secondary spindle stop
- M154 C axis engage
- M155 C axis disengage
From The Haas G-Code Field Guide by Ethan Reynolds — gcodeguide.com. Independent reference. Not affiliated with, sponsored by or endorsed by Haas Automation, Inc. Haas is a trademark of its respective owner. Always confirm codes against your machine's operator manual — options and settings vary by model and software version.