Blogs, CNC Plasmas, CNC Routers

Understanding G-Code and M-Code in CNC Work

cnc machine using g code

A CNC machine needs directions on how and where to cut providing a massive productivity and precision boost over manual machining methods, all thanks to the computer-driven nature of their operation. But those advantages don’t just take shape automatically. CNC machines use what is called a G code and an M code to produce exacting results.

CNC machines like CNC Routers and Plasma Tables are driven by codes that tell the machine how and where to cut. In fact, it is where the name CNC comes from, which stands for computer numerical control.

There are two main types of codes CNC operators use. G-codes and M-codes both of which are needed in order for the system to properly perform a desired job.

The complexity and intricacy of these codes are what allow CNC machines to perform such precise cuts. But rather than having to input code manually, most operators use CAD/CAM software to help do the heavy lifting. The operator tells the CAD and CAM software what to do, and it creates the code for the machine to understand.

Here is a closer look at what G-code and M-code are and how they work together to drive the functionality of CNC machines.


g code list

G-code commands are the original and most common programming language used by CNC software, with the G standing for geometry. It is an alphanumeric format g code command the system uses to tell the CNC machine what to do, dictating how and where the CNC machine moves to create the part.

To control CNC machines, we rely on a set of commands known as CNC G Codes. While different manufacturers may have their own variations, there is a common core group of G Codes that are used across various machine tools. These standards apply to CNC lathes, milling machines, routers, CNC plasma tables, and even modern 3D printers.

So whether you’re working with metal, wood, or even additive manufacturing, understanding and utilizing these G Code commands is essential for precise and efficient control of CNC machines.

Common G Code Commands for CNC machining include:

  • G-code – G0: Move as fast as possible to a specified coordinate
  • G-code – G1: Move in a straight line
  • G-code – G2: Create an arc in a clockwise direction
  • G-code – G3: Create an arc in a counterclockwise direction

What is M-Code?

m code list

M-code, on the other hand, is a function inside the G-code language that controls miscellaneous machine functions not involved with cutting. This includes the stopping and starting of specific actions or programs. Some refer to M-code as machine code.

When it comes to operating CNC machines, M codes play a crucial role in facilitating various CNC machine functions. These command codes, paired with G codes, enable the machine to perform tasks such as powering up or shutting down, changing tools, and pausing operations.

M codes can be seen as the unsung heroes behind the scenes, ensuring smooth and precise functioning. As you delve into the realm of CNC machining, prepare to embrace the power of M codes and unlock a new level of control and precision in the machining process.

Common M-Code Commands for CNC Code Programming:

  • M-code – M00: Stop whatever machine tool program is currently operating (axes, coolant flooding, or spindle)
  • M-code – M01: Indicates an optional stop for the program
  • M-code – M02: End of the currently running programming process
  • M-code – M03: Begin to move the spindle clockwise

M-code is not the only function within the G-code language, which includes an extensive series of functions all defined by a given letter that tells the machine how to move.

These additional CNC programming codes include:

  • N: Gives the line number
  • G: Tells the tool when to move and stop
  • X, Y, Z: Indicate the position of the tool along the x, y, and z axes
  • F: Indicates how quickly the machine feeds the workpiece
  • S: Tells the machine how quickly to move the spindle
  • T: Tells the machine which tool to use
  • I and J: Indicate the incremental center of any arcs the machine makes
  • R: Gives the radius of arcs made by the machine
  • A: Directs the tool around the x-axis
  • B: The number paired with B shows the rotational value around the y-axis
  • C: The auxiliary axis that rotates around the z-axis gets its positional value from the C value
  • D: Shows how much the system offsets the tool diameter
  • L: Gives the system a value to indicate repeating operations and how many times to loop
  • P: Program jumps in time or in delayed time with the P command

Experience CNC the Way It Was Meant to Be with ShopSabre

cnc programming

ShopSabres industry-best CNC routers, plasmas, and accessories are designed to help shop owners grow their production through unmatched precision, repeatability, and automation all at an affordable price, making the CNC programming process easy.

Our CNC machines are simple to get up and running and to learn how to operate, even without any formal training. Our team of dedicated experts offers one-on-one support to help find the right machine for you and to make sure it works the way you and your business need it to.

Here are a few of the reasons ShopSabre is able to develop and produce such revolutionary CNC technology:

  • Experienced in-house engineering talent
  • The ability to totally fabricate and test designs onsite
  • The ability to place the designs into production in-house

Shop our unmatched collection of CNC routers and CNC plasmas today to experience CNC the way it was meant to be.

"*" indicates required fields

Please fill out the form to access the finance calculator