G90 and G91 set how coordinates are read. In absolute mode every position is measured from part zero; in incremental mode every position is measured from where the tool is right now. Mixing them up is a common cause of crashes.
| Mode | Coordinates measured from | G01 X1.0 means |
|---|---|---|
| G90 | Part zero (work offset) | Go to X = 1.0 |
| G91 | Current tool position | Move +1.0 in X from here |
When to use each
- G90 absolute is the default for most programs and the safest for general positioning.
- G91 incremental shines for repeated patterns and subprograms, where the same relative move repeats.
- Set the mode explicitly at the top of the program and reset it after any incremental block.
G91 X0.5 (step 0.5 further)
FAQ
What happens if I mix G90 and G91 incorrectly in a program? Coordinates programmed in the wrong mode are interpreted completely differently, since an absolute value gets treated as an incremental move or vice versa, which very often sends the machine somewhere unexpected. Most programs stay in G90 and use G91 only for deliberate incremental moves.
Related: work offsets and the G-Code Cheat Sheet.
