โ† Open Viewer
GCodex โ€บ G-Code Guide โ€บ G92 Command
G92

G92 โ€” Set Position (Zero Offset)

Category: Coordinates  ยท  Applies to: CNC Mill, 3D Printer, Marlin, Klipper, GRBL  ยท  Updated: May 2026

What is G92?

G92 redefines the current machine position as the specified coordinate, without moving any axis. It is most commonly used in 3D printing to reset the extruder position (G92 E0) and in CNC programming to set a work datum.

Syntax

G92 [X] [Y] [Z] [E]

Parameters

ParameterDescription
XRedefine current X position as this value
YRedefine current Y position as this value
ZRedefine current Z position as this value
ERedefine current extruder position as this value (most common use)

Examples

G92 E0
โ†‘ Reset extruder position to 0 โ€” standard before every layer in 3D printing
G92 X0 Y0
โ†‘ Declare current X and Y as the work origin (0,0) without moving
G92 X10
โ†‘ Tell the controller 'I am currently at X=10' โ€” shifts all subsequent coordinates

Important Notes

  • G92 does NOT move the machine โ€” it only changes the controller's internal position record.
  • G92 E0 is the most common use in 3D printing โ€” resets extruder before purge lines and layer starts.
  • On CNC machines, G92 creates a temporary offset. Use G54โ€“G59 work offsets for permanent datum settings.
  • G92 with no arguments resets all axes to zero at current position.
  • G92 offsets are cleared by G28 (homing) in most firmware.

Common Mistakes

  • โŒ Using G92 X0 Y0 as a work offset on CNC โ€” it doesn't persist reliably. Use G54 instead.
  • โŒ Forgetting G92 E0 before a purge line โ€” extruder position drifts across prints causing extrusion errors.
  • โŒ Using G92 to 'fix' a coordinate without understanding why the coordinates are wrong โ€” masks deeper offset errors.

Frequently Asked Questions

Q: What does G92 E0 do in 3D printing?
G92 E0 tells Marlin or Klipper that the current extruder position is 0 mm. This resets the extruder reference point so the next extrusion commands start from a known baseline. It is placed in start scripts after a purge line and sometimes between layers in absolute extrusion mode.
Q: What is the difference between G92 and G54?
G92 creates a coordinate offset relative to the current position โ€” it is temporary and can be cleared by homing. G54 (and G55โ€“G59) are stored work coordinate system offsets measured and entered by the operator. G54 is the correct way to set a permanent part datum on a CNC machine.
Q: Does G92 move the machine?
No. G92 only changes the controller's internal record of the current position. The physical axes do not move at all. It is purely a software coordinate shift.