---
tag: g092
title: Set Position
brief: Set the current position of one or more axes.
author: thinkyhead
contrib: shitcreek

group: motion
since: 1.0.0-beta

codes: [ G92 ]

notes:
- In earlier versions of Marlin `G92` doesn't update the software endstops, so it was unsupported to set coordinates outside these boundaries. In Marlin 1.1.0 and up, the physical boundaries are maintained. This means you can no longer use `G92` to move below the bed, for example.

parameters:

- tag: X
  optional: true
  description: New X axis position
  values:
  - tag: pos
    type: float

- tag: Y
  optional: true
  description: New Y axis position
  values:
  - tag: pos
    type: float

- tag: Z
  optional: true
  description: New Z axis position
  values:
  - tag: pos
    type: float

- tag: A
  optional: true
  since: 2.0.9
  requires: I_DRIVER_TYPE, AXIS4_NAME 'A'
  description: New A axis position
  values:
  - tag: pos
    type: float

- tag: B
  optional: true
  since: 2.0.9
  requires: J_DRIVER_TYPE, AXIS5_NAME 'B'
  description: New B axis position
  values:
  - tag: pos
    type: float

- tag: C
  optional: true
  since: 2.0.9
  requires: K_DRIVER_TYPE, AXIS6_NAME 'C'
  description: New C axis position
  values:
  - tag: pos
    type: float

- tag: U
  optional: true
  since: 2.1
  requires: U_DRIVER_TYPE, AXIS7_NAME 'U'
  description: New U axis position
  values:
  - tag: pos
    type: float

- tag: V
  optional: true
  since: 2.1
  requires: V_DRIVER_TYPE, AXIS8_NAME 'V'
  description: New V axis position
  values:
  - tag: pos
    type: float

- tag: W
  optional: true
  since: 2.1
  requires: W_DRIVER_TYPE, AXIS9_NAME 'W'
  description: New W axis position
  values:
  - tag: pos
    type: float

- tag: E
  optional: true
  description: New extruder position
  values:
  - tag: pos
    type: float

examples:

- pre: Specify that the nozzle's current X position is 10 and the current extruder position is 90.
  code: G92 X10 E90

- pre: Specify that the nozzle's current XYZ position is 0, 0, 0.
  code: G92 X0 Y0 Z0

- pre: Resets selected workspace is 0, 0, 0.
  code: G92.1

---

Set the current position to the values specified. In Marlin 1.1.0 and up, the software endstops are adjusted to preserve the physical movement limits. Thus you could use `G92` to set the middle of the bed to 0,0 and then run .gcode that was sliced for a Deltabot.

The [`CNC_COORDINATE_SYSTEMS`](/docs/gcode/G054-G059.html) option enables use of `G92.1` to reset the selected workspace to native machine space. See [`G54-G59`](/docs/gcode/G054-G059.html) and [`G53`](/docs/gcode/G053.html).
