Practical Guide to Absolute and Incremental Modes in CNC Machining Parts Programming

CNC Machining Parts

When it comes to CNC machining, understanding the difference between absolute and incremental modes is crucial. These two modes define how the machine interprets the coordinates provided in the program. In this guide, we’ll explore the ins and outs of these modes, how to use them effectively, and why they matter.

online cnc machining service

Absolute and Incremental Coordinates

In CNC programming, the coordinates given at any point are referred to as “coordinate words.” These words usually come with a dimension value, using the selected unit system (either metric or imperial). Common coordinate words include X, Y, Z, I, J, K, and R. These are the foundation of all measurements in a CNC program.

To make sense of a coordinate like X35.0, the control system needs to know where to start measuring from. This is where the concepts of absolute and incremental references come in.

Absolute Mode

Absolute mode uses a fixed reference point on the workpiece, known as the origin or program zero. When you program a coordinate like X35.0 in absolute mode, the machine moves to a position 35 units from this fixed origin point. The G-code used to set the machine in absolute mode is G90. Once set, all subsequent coordinates are interpreted as distances from the origin.

Advantages of Absolute Mode:

  • Easy to modify: Changing one dimension doesn’t affect others.
  • Intuitive: Moves are directly related to a fixed reference point.


G00 X0 Y0 (Move to origin)
G01 X35.0 Y20.0 F150 (Move to 35mm on X and 20mm on Y)

In this example, the machine moves from the origin to the specified coordinates, making it straightforward and clear.

Incremental Mode

Incremental mode, on the other hand, measures each move from the current position rather than a fixed point. If you program X35.0 in incremental mode, the machine moves 35 units from its current position, not from the origin. The G-code for incremental mode is G91.

Advantages of Incremental Mode:

  • Flexibility: Ideal for repeating movements and subprograms.
  • Portability: Can be used across different parts of a program or different programs.


G00 X0 Y0 (Move to origin)
G01 X35.0 Y0 F150 (Move 35mm to the right)
G01 X0 Y20.0 (Move 20mm up from the new position)

Here, each coordinate is a move relative to the last position, making it useful for certain repetitive tasks.

Using G90 and G91

Both G90 and G91 are modal commands, meaning they remain in effect until another command changes the mode. Typically, CNC machines start in incremental mode by default, but this can be adjusted. It’s a good habit to explicitly set the desired mode at the beginning of your program to avoid any confusion.

Practical Considerations

When deciding which mode to use, consider the following tips:

  1. Default Settings: Always check the machine’s default settings. Set the desired mode at the start of your program.
  2. Consistency: Stick to one mode throughout a program if possible. Switching modes can introduce errors.
  3. Safety: Absolute mode is often safer for beginners because it’s less prone to cumulative errors.
  4. Efficiency: Incremental mode can be more efficient for repeated movements, such as in subprograms or loops.

Mixing Modes

In some cases, it’s beneficial to mix absolute and incremental modes within the same program segment. This is especially true for complex parts where different sections of the part require different reference points.

Example of Mixed Modes:

G90 (Set to absolute mode)
G00 X100.0 Y100.0 (Move to absolute coordinates 100, 100)
G91 (Set to incremental mode)
G01 X10.0 Y0 (Move 10 units right from the current position)
G01 X0 Y-5.0 (Move 5 units down from the new position)

In this example, the initial move is absolute, establishing a clear starting point. Subsequent moves are incremental, allowing for relative adjustments.

Why the Default is Incremental Mode

One might wonder why many CNC machines default to incremental mode, despite absolute mode often being more straightforward. The reason is safety. If a program starts running without setting the mode and includes large positive values in absolute mode, it might attempt to move the tool far outside the work area, potentially causing damage. Incremental mode mitigates this risk by ensuring moves are relative to the current position, which usually means smaller, safer movements.

Converting Between Modes

Converting a program from absolute to incremental mode (or vice versa) requires careful recalculation of coordinates. Each point must be adjusted to account for the change in reference. Here’s a simple example of conversion:

Absolute Mode:

G01 X50 Y50
G01 X100 Y100

Converted to Incremental Mode:

G01 X50 Y50
G01 X50 Y50 (Move 50 units from the current position, reaching X100 Y100)

Understanding and effectively using absolute and incremental modes in CNC machining is fundamental for precise and efficient programming. Whether you’re sticking to one mode or mixing both, always be clear and deliberate in your commands. This clarity will ensure your machine interprets the program correctly, leading to high-quality parts and smooth operations.

Learn more:
Want.Net Technical Team

Want.Net Technical Team

The Want.Net Technical Team has diverse members with extensive education and training in CNC machining. They prioritize precision, efficiency, and innovation to provide high-quality manufacturing solutions globally.

Push Your Order into Production Today!

Table of Contents


You’re one step from the  factory-direct price of part manufacturing services.