---
tag: g054
title: Select Workspace
brief: Select a workspace coordinate system
author: shitcreek
contrib: thinkyhead

group: geometry
requires: CNC_COORDINATE_SYSTEMS
eeprom: true

codes: [ G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3 ]
related: [ G53, G92 ]

examples:
- pre: Select Workspace 2 and rapid move to the workspace origin
  code: |
    G55            ; Workspace #2
    G0 X0 Y0 Z0    ; Go to WS Origin

- pre: Offset Workspace 7 by X100 Y100
  code: |
    G53            ; Native coordinates
    G0 X100 Y100   ; Center of 200x200 bed
    G59.1          ; Workspace #7
    G92 X0 Y0      ; Bed Center is now X0 Y0

---

A "workspace" (aka "Coordinate System") is an XYZ offset to the native machine space. All workspaces default to an offset of 0,0,0 at start, or with [EEPROM](/docs/features/eeprom.html) support they may be restored from a previous session. Use [`G53`](/docs/gcode/G053.html) to use the native machine space (aka Workspace 0).

{:.pretty-list.headless}
G-code|Workspace
---|---
`G54`|Workspace 1
`G55`|Workspace 2
`G56`|Workspace 3
`G57`|Workspace 4
`G58`|Workspace 5
`G59`|Workspace 6
`G59.1`|Workspace 7
`G59.2`|Workspace 8
`G59.3`|Workspace 9

Once a particular workspace has been activated, [`G92`](/docs/gcode/G092.html) can then be used to set the Current Position, effectively modifying the workspace offset.
