QBH Technology

What are G-Code and M-Code in CNC Machining ?

CNC machining

What are G-Code and M-Code in CNC Machining ?

In the rapidly advancing world of technology, CNC machining have become a priority. It is an integral as well as a fundamental part of the modern manufacturing ecosystem. The advanced features and latest functionalities embedded in the CNC machining are of great importance. They help in executing a wide range of complex machining processes with ease. However, to leverage the full potential of CNC machining, the personnel at CNC machining manufacturer companies must have an in-depth understanding of the technology.

Computer Numerical Control (CNC), as the name indicates, is a set of instructions and guidelines. These are given to the machine to achieve a specific task or perform a unique function. Now for the machine to understand and execute, the instructions need to be in the form of G codes and M codes. Also, the CNC operators at CNC machining parts manufacturing companies need to know about the codes. Therefore, learning how to use them to achieve the manufacturing objective is important.  

Before we delve into the codes, let’s take a look briefly at how machines were used before the advent of G-code and M-code. Also, get to know why there was a need to use these codes in the first place. Also, learn how they have become essential for different processes like CNC turning service and CNC milling service.

CNC machining is a process in manufacturing that utilizes tools and computer-based controls to remove the material layer from workpieces to produce an intended designed part. CNC machining is used for a vast range of materials including wood, plastic, metal, glass, etc. Thus, CNC machining is used for a large number of industries as well. CNC machines are those machines that can automate the process of CNC machining. CNC machining operations include services such as CNC turning, CNC milling, CNC drilling, and others. 

CNC machining

Now during the initial period of machining, the devices used were numerically controlled. Thus, the term NC came into existence. The operators had a hard time as the cards or tapes with codes were used and were developed by punching holes in a specific pattern. It was widely used in machine shops. However, the use of punch tape, first of all, was a daunting task. Plus, these were prone to get damaged or lost in the shop. This resulted in a substantial loss of productivity, time, and efficiency. 

Later, computers came into existence and began to be used for operating NC machines. This had its own problems such as manually giving input in the form of codes. It was a tedious task when complex and difficult CNC machining parts were the requirement. Things changed drastically with the development of supercomputers and advanced software.

Today, the machine operators and personnel simply need to instruct the software on what needs to be done. Consequently, the software will generate G-code and M-code which will enable the machine to perform different functions. Further advancement came in the form of Computer-Aided Design (CAD) models and Computer-Aided Manufacturing (CAM). This software automates the code generation and makes the process faster. 

CNC machining typically follows this process:

  • Starts with designing using CAD and developing a model
  • The CAD file is thereafter converted into CNC program
  • The next step consists of preparation of CNC machine 
  • Finally execution of the machine operation

In these stages, 2D vector or 3D solid part CAD design is used. This is mostly done either within an organization or experts are called in to do this part. All technical details such as dimension, geometries and specifications for developing the product can be input by the team of designers and manufacturers. 

Now that you know the history of machining and the development of computer-assisted machining, let’s understand in-depth about G-code and M-code. 

CNC machining

G-code and M-code

G-code and M-code can be understood as the programming language that helps the operator control different functions associated with CNC machines. These codes are used in milling machines, lathes and even 3D printers. Find out the specific role and function of these codes below.


In CNC machining, a G-code helps in controlling the movement of the machine. In other words, it regulates or dictates where and how a machine part like a spindle should move to achieve the fabrication objective. 

Also, G in G-code stands for geometry and the command is typically written in alphanumeric format, for example, G00. 

Some of the functions include changing pallets, fast movement, a series of feed movements for a cut, hole or specific shape, movement in a straight line or arc. 


M-code in the CNC machining controls all the miscellaneous machine functions, which includes but is not limited to starting and stopping action. Simply put, M-code is used to perform all the non-geometric functions. 

Some examples can be putting coolant on the machine or switching off the machine as and when the temperature reduces. M-code is also written in alphanumeric format with M at the start and followed by two digits. 

Some of the functions include program stop, program end, clockwise and anticlockwise rotation of the spindle, change of tool, stopping the spindle. 

Difference between G-code and M-code 

Understanding the difference between G-code and M-code will help the operators to better use the CNC machines and maximize their potential. 

G-code may be different in different CNC machines, whereas that’s not the case with M-code. This is important for operators to know because one command may mean a different action in different machines. Thus, the language of the machine and related details is of immense importance. 

Secondly, G-code is used to get the CNC machine started and activated, but M-code only activates the machine’s PLC or Programmable Logic Controller. 

Finally, as discussed, G-code mainly deals with motion and M-code enables outside movements. Now let’s take a deep dive into the G-code and M-code commands. 

G-code and M-code Commands

CNC machines are based on the Cartesian coordinate system, which contains majorly three axes. For instance, when we take a vertical milling machine, the right-hand thumb rule can be used where the thumb, forefinger, and middle finger are positive points of action. These fingers represent X, Y, and Z-axis. The same can be used to identify the axes on a CNC machine.  

The motions in a CNC machine are related to the cutter, workpiece, and machine table. Any movement creates a positive machining action. Typically, CNC machines consist of mainly three options namely: 

  • Straight-line movement as fast as possible
  • Straight-line movement at a specified rate 
  • Circular movement at a specified rate.

Thus, when a G-code is commanded, for example, G00, it will instruct the machine to move the tool to a position in one of the axis, say X-axis with X30. Also, if the machine is in metric mode, the same command would mean moving 30 mm in that direction. Similarly, the command can give a value to move towards Y-axis. 

Although the name is given as G-code, other letters mean different functions in the programming language. A few examples are shared below:

S – Spindle speed

F – Feed rates

T – Tool selection

N – Line number

R – Radius of arcs

A- X-axis value and direction

B – Y-axis value and direction

C- Z-axis value and direction

P – Time Jump or Delayed Time

Some of the most commonly used G codes are G00, G01, G02, G03, and G04. These are used for fast positioning, linear interpolation, clockwise circular interpolation, and anticlockwise circular interpolation respectively.  

M-codes are also different for different machines as specified by the developer. Therefore, it is always essential that the operator team know the codes. Some examples are given:

M00: Stopping the current program 

M01: Optional program stop 

M02: Current program stop

M03: Staring clockwise spindle movement 

M04: Start anticlockwise spindle movement

M05: Stopping spindle movement 

M06: Load on a different tool

M07: Start coolant mist

M08: Start coolant flooding

M09: Stop coolant flow

Some of the most commonly used M codes are M00, M02, M03, M04, M05, and M06. 

CNC Machining

Now that you the basics of G-code and M-code in CNC machines, the operators can easily use this knowledge to fabricate different parts using CNC machines. 

Depending on the machining objective, both G-code and M-code are used to perform various geometric and non-geometric functions. These are an essential part of modern manufacturing and its success. In an ideal world, after the CNC code is programmed, no more changes are required to conduct the activities of the workshop or floor. But that’s not the case always. Various projects would require major or minor adjustments always. This can be carried out by only highly qualified professionals, experts, and engineering heads. However, if you want to understand more about CNC machines and develop expertise, it is always recommended to partner with the best and achieve more efficiency in the process. 

If you are looking for expert CNC machining manufacturers and professionals, partner with QBH technology. Established in 2014, the experienced team specializes in CNC machining service. Latest and advanced equipment are used to carry out all the manufacturing processes under the supervision of world-class engineers and shop floor managers. A variety of material such as aluminum, stainless steel, brass is undertaken. For more details, contact us today.   

Share This Post With Others!

Related Posts


您的电子邮箱地址不会被公开。 必填项已用*标注

sheet metal

Alice Tang

Rapid Manufacturing Expert

This is Alice from QBH Technology.I have been focused on sheet metal and CNC machining parts for more than 5 years now,and the purpose of this article is to share with you the knowledge related to sheet metal and CNC machining from a Chinese manufacturer.

Follow me on:

Recent Posts

Get an instant quote from our most experienced consultants

Open chat
Can we help you?