Move out of range: X Y Z [E]

Move out of range: X Y Z [E]


A movement beyond the physical limits was attempted.


  • A direct movement command (G1 et al.) tried to move to a location that is beyond the limits
  • An indirect movement correction (e.g. bed mesh or gcode offsets) pushed the movement target beyond the physical limits

Potential solutions

  • How to determine the offending axis
    • Check the X, Y or Z coordinates given in the error message and compare them with the limits of your axes (position_min / position_min in the [stepper] section)
    • Find the axis that is causing the error. For example the message Move out of range: X Y -0.2 [0.000] compared to position_min: 0 makes it clear, where the error is coming from
  • Check relevant movements that might be causing the exceeded limits
    • Z-axis errors, especially when negative as in above example, are often caused by the bed-mesh. The mesh needs some head-room to be able to correct into the negative quadrant as well. Set position_min: -2 or similar to solve the issue
    • G90 (Absolut Positioning) vs. G92 (Relative / Incremental Positioning): Care needs to be taken especially when using G92 positioning. Any movement will be added to the current position, making it easy to leave the specified boundaries
    • Probe coordinates: mesh_min / mesh_max require the probe coordinates and not the nozzle coordinates. Setting this wrongly, easily leads to this error
    • Screw coordinates: The screw coordinates for SCREWS_TILT_CALCULATE in contrast require the nozzle coordinates at the location where the probe’s tip is ideally above the screw’s center.