The print is fine until a certain layer, then everything above is offset in one direction. This is a mechanical step-skipping problem. Diagnose and fix it.
Your printer moves by counting steps. The firmware tells the X stepper motor to take 320 steps to move 10 mm; the motor obeys; the slicer tracks position based on commanded steps, not actual position. There is no feedback loop verifying the carriage actually moved where it was told to. If the motor skips steps - or the belt slips on the pulley - the firmware thinks the carriage is at one position but it's physically somewhere else. Every move after that is offset by the slip distance.
Motors skip steps when commanded torque exceeds available torque. At high acceleration, the motor must apply enormous force in a fraction of a second to change the carriage's velocity. If acceleration is set too high for the printer's mechanical setup, the motor can't deliver and skips. Stepper drivers also reduce current when they overheat (thermal protection), temporarily eliminating holding torque - the motor loses position momentarily, then resumes counting from the wrong place.
Mechanical causes look identical to the printer but have different fixes. A loose pulley grub screw means the pulley spins on the motor shaft instead of with it. A loose belt has slack that absorbs motion before transferring it. A nozzle collision with a warped corner physically forces the carriage out of position, no skipped steps required. The fact that all of these produce the same symptom is why layer shift takes patience to diagnose.
WHEN THESE FIXES FAIL
**If shift happens at the same layer height every time you print the same model** - the nozzle is hitting something at that layer. Check the failed print for a warped corner, blob or collision point.
**If shifts happen randomly at different heights on different prints** - mechanical (belt, pulley) or thermal (stepper drivers).
**If shifting happens only when you push speed/acceleration high** - the motor can't keep up. Reduce speed.
**If you can pluck the belts and they sound floppy** - belts are loose. Tighten.
**If the stepper driver heatsinks are uncomfortably hot to touch after a failed print** - drivers are thermally cycling. Add cooling.
**If the print just stopped progressing (motor visibly running but no movement)** - a pulley grub screw has fully backed out. The motor turns but the pulley stays still.
MOST LIKELY CAUSES
1
Print speed or acceleration too high
high confidence
Stepper motors can skip steps when movement changes are too fast for the machine.
→ Set print speed to 50-60 mm/s
→ Set acceleration to 500-800 mm/s2
→ Reduce travel speed to 120-150 mm/s
2
Loose belts or pulleys
high confidence
Slack belts or slipping pulleys cause the toolhead to lose positional accuracy.
→ Tighten X and Y belts until they give a firm thud when plucked
→ Check pulley grub screws on stepper shafts
→ Tighten both grub screws against the flat side of the motor shaft
3
Nozzle collision with the print
medium confidence
Contact with a warped edge or blob can physically knock the axis out of position.
→ Enable Z-hop at 0.2-0.4 mm
→ Enable combing or avoid crossing perimeters
→ Fix any warping with better bed adhesion before reprinting
WANT SETTINGS TUNED FOR THIS ISSUE?
Generate slicer settings based on your printer, filament, and this exact problem.
Everything below a certain layer is fine; everything above is offset in one direction (X, Y or both). The print may be otherwise structurally complete, just shifted.
Why It Happens
Your printer moves by counting steps. The firmware tells the X stepper motor to take 320 steps to move 10 mm; the motor obeys; the slicer tracks position based on commanded steps, not actual position. There is no feedback loop verifying the carriage actually moved where it was told to. If the motor skips steps - or the belt slips on the pulley - the firmware thinks the carriage is at one position but it's physically somewhere else. Every move after that is offset by the slip distance.
Motors skip steps when commanded torque exceeds available torque. At high acceleration, the motor must apply enormous force in a fraction of a second to change the carriage's velocity. If acceleration is set too high for the printer's mechanical setup, the motor can't deliver and skips. Stepper drivers also reduce current when they overheat (thermal protection), temporarily eliminating holding torque - the motor loses position momentarily, then resumes counting from the wrong place.
Mechanical causes look identical to the printer but have different fixes. A loose pulley grub screw means the pulley spins on the motor shaft instead of with it. A loose belt has slack that absorbs motion before transferring it. A nozzle collision with a warped corner physically forces the carriage out of position, no skipped steps required. The fact that all of these produce the same symptom is why layer shift takes patience to diagnose.
What The Community Data Says
Based on 209 confirmed fixes from r/FixMyPrint, these are the causes ranked by how often they actually worked:
1. Print speed / acceleration too high - dropping speed to 50-60 mm/s and acceleration to 500-800 mm/s2 fixed the largest share of cases. Especially common after users 'tried turning up the speed for one print'.
2. Loose belts - tightening X and Y belts (firm thud when plucked) fixed many recurring shift issues. Floppy belts were the most-cited cause on Ender 3 family printers.
3. Loose pulley grub screws - the small set screws holding pulleys to motor shafts had backed out. Tightening them with the printer disassembled fixed cases that resisted every other tweak.
4. Nozzle collision with warped corner - prints that warped lifted high enough for the nozzle to clip them on travel moves, knocking the gantry. Z-hop and combing prevented further collisions.
5. Stepper driver overheating - the drivers themselves were too hot, triggering thermal protection mid-print. Adding a small fan to the electronics bay or reducing motor current solved it.
Data sourced from r/FixMyPrint - one of the largest 3D printing troubleshooting communities on Reddit. This represents real user-reported issues and community-confirmed fixes, not theoretical advice.
How To Diagnose Your Specific Cause
If shift happens at the same layer height every time you print the same model - the nozzle is hitting something at that layer. Check the failed print for a warped corner, blob or collision point.
If shifts happen randomly at different heights on different prints - mechanical (belt, pulley) or thermal (stepper drivers).
If shifting happens only when you push speed/acceleration high - the motor can't keep up. Reduce speed.
If you can pluck the belts and they sound floppy - belts are loose. Tighten.
If the stepper driver heatsinks are uncomfortably hot to touch after a failed print - drivers are thermally cycling. Add cooling.
If the print just stopped progressing (motor visibly running but no movement) - a pulley grub screw has fully backed out. The motor turns but the pulley stays still.
Fixes By Cause
Cause 1: Reduce speed and acceleration
Print speed: 50-60 mm/s. Travel speed: 120-150 mm/s. Acceleration: 500-800 mm/s2 on Ender-class, 2000-4000 on Bambu/Voron. If shifts stop, raise speed gradually until you find the limit. Stock Ender 3 reliable max: 80 mm/s print, 1500 mm/s2 accel.
Cause 2: Tighten belts
Pluck like a guitar string. Want a firm low thud, not a floppy slap. Use the built-in tensioner on Ender 3 v2+, add aftermarket on earlier models. CoreXY printers have specific tension procedures - follow Bambu/Voron docs. Don't over-tighten - too tight binds bearings and causes its own skipped steps.
Cause 3: Tighten pulley grub screws
Power off. Remove the belt around the suspect pulley. Find the small set screws (usually 1.5-2 mm hex) on the pulley hub. Tighten firmly against the flat of the motor shaft. Two screws per pulley - tighten both. Re-install belt and re-tension.
Cause 4: Eliminate nozzle collisions
Enable Z-hop 0.2-0.4 mm to lift the nozzle on travel moves. Enable combing to route travel inside the model. Fix the underlying warping with bed temperature, brim, or enclosure depending on filament.
Cause 5: Cool stepper drivers
Feel the driver heatsinks after a failed print. Uncomfortably hot = thermal cycling. Add a 40 mm fan to the electronics bay. Or reduce motor current: Marlin M906 X<value> Y<value>; Klipper edit `run_current` in stepper config. Reduce to 80% of current setting and retest.
Printer-Specific Notes
Bowden printers (Ender 3 family): Bedslinger design - the bed moves in Y. The Y belt and Y motor are most likely to skip because they move the heaviest mass. Tighten Y belt before X. Stock A4988 drivers overheat quickly - upgrading to TMC2209 (silent, more current, better thermal) is one of the best mods for shift-prone Ender 3s.
Direct drive printers (Bambu, Prusa MK4S): CoreXY (Bambu, Voron) doesn't move the bed - both motors share both axes. Belt tension matters even more because both belts must match. Use the Bambu belt tension tool or measure with a frequency app. Prusa MK4S i3-style needs Y belt tightest (it moves the bed).
Enclosed printers (Bambu P1S, K1 Max): Higher chamber temperature can soften belts (especially cheap GT2 belts). If your enclosed printer started shifting after a few months, replace the belts with high-temp Gates GT2 ($10-15).
Filament-Specific Notes
PLA / PLA+: Lowest collision risk because PLA rarely warps. Layer shifts on PLA are almost always pure mechanical (belt, pulley, speed).
PETG: Slight warping risk on large parts. PETG-warped corners can lift into the nozzle path on long prints. Use a brim 5-10 mm.
ABS / ASA: High warping risk = high collision risk. Always run with a brim 8-12 mm. Z-hop on. Enclosure required.
TPU: Doesn't warp. Layer shifts on TPU are speed-related (TPU should print at 20-30 mm/s) or extruder-tension-related (over-tight tension binds the gear and the carriage stutters).
How To Prevent It Next Time
Save a 'safe speed' profile in your slicer for prints you can't afford to lose - 50 mm/s, 800 mm/s2 accel. Use it for overnight prints and large parts.
Check belt tension monthly. They loosen over time, especially on stock printers without proper tensioners.
If you ever upgrade to silent stepper drivers (TMC2209) make sure to enable proper cooling - they run cooler than A4988s but still overheat under continuous load without airflow.
Get An Exact Fix For Your Setup
Use FixMyPrint to get safe print speed, travel speed, acceleration and Z-hop values tuned for your specific printer - based on what actually worked for similar issues in the community.
Go to /settings-generator to generate yours.