G-Codes List For CNC Machine Programming

To be able to program CNC code, you must know most, if not all, of the G-codes and what they do. A CNC machinist will know how and when to use each code so that that part will run the most efficient. The program address “G” is a preparatory command. It prepares or presets the control system to use a certain mode or operation. Below is the list of G-codes that are used in most modern CNC Milling machines:

  • G00 – Rapid positioning
  • G01 – Linear interpolation
  • G02 – Circular interpolation clockwise (CW)
  • G03 – Circular interpolation counterclockwise (CCW)
  • G04 – Dwell – as a separate block only
  • G05 – High-speed machining on Fanuc control (Look ahead)
  • G09 – Exact stop check – one block only
  • G10 – Programmable data input – Data Setting
  • G11 – Data Setting mode cancel
  • G15 – Polar Coordinate Command cancel
  • G16 – Polar Coordinate Command
  • G17 – XY-plane designation
  • G18 – ZX-plane designation
  • G19 – YZ-plane designation
  • G20 – Imperial units of input (Inches)
  • G21 – Metric units of unput
  • G22 – Stored stroke check ON
  • G23 – Stored stroke check OFF
  • G25 – Spindle speed fluctuation detection ON
  • G26 – Spindle speed fluctuation detection OFF
  • G27 – Machine zero position check
  • G28 – Machine zero return (reference point 1)
  • G29 – Return from machine zero
  • G30 – Machine zero return (reference point 2)
  • G31 – Skip function
  • G40 – Cutter radius compensation cancel
  • G41 – Cutter radius compensation – left
  • G42 – Cutter radius compensation – right
  • G43 – Tool length compensation – positive
  • G44 – Tool length compensation – negative
  • G45 – Position compensation – single increase
  • G46 – Position compensation – single increase
  • G47 – Position compensation – double increase
  • G48 – Position compensation – double increase
  • G49 – Tool length offset cancel
  • G50 – Scaling function cancel
  • G51 – Scaling function
  • G52 – Local coordinate system setting
  • G53 – Machine coordinate system
  • G54 – Work coordinate offset 1
  • G55 – Work coordinate offset 2
  • G56 – Work coordinate offset 3
  • G57 – Work coordinate offset 4
  • G58 – Work coordinate offset 5
  • G59 – Work coordinate offset 6
  • G60 – Single direction positioning
  • G61 – Exact stop mode
  • G62 – Automatic corner override mode
  • G63 – Tapping mode
  • G64 – Cutting mode
  • G65 – Custom macro call
  • G66 – Custom macro modal call
  • G67 – Custom macro modal call cancel
  • G68 – Coordinate system rotation
  • G69 – Coordinate system rotation cancel
  • G73 – High speed peck drilling cycle (deep hole)
  • G74 – Left hand threading cycle
  • G76 – Fine boring cycle
  • G80 – Fixed cycle cancel
  • G81 – Drilling cycle
  • G82 – Spot-drilling cycle
  • G83 – Peck-drilling cycle (deep hole drilling cycle)
  • G84 – Right hand threading cycle
  • G85 – Boring cycle
  • G86 – Boring cycle
  • G87 – Back boring cycle
  • G88 – Boring cycle
  • G89 – Boring cycle
  • G90 – Absolute dimensioning mode
  • G91 – Incremental dimensioning mode
  • G92 – Tool position register
  • G98 – Return to initial level in a fixed cycle
  • G99 – Return to R-level in a fixed cycle
3rd Edition
3rd Edition

Two G-codes may be used in the same block (line), such as G00 and G90, if you want to Rapid to a position in the Absolute mode.

Not all of the listed G-codes are applicable to every CNC machine, so please refer your machine’s manual for confirmation.

For more info on programming, check out the CNC Programming Handbook. It is the most informative and accurate book that I have come across for for programming.

5 thoughts on “G-Codes List For CNC Machine Programming”

Leave a Reply

Your email address will not be published. Required fields are marked *