3D Print Z Banding, Z Wobble or Ribbing 5 Quick Fixes

It can be frustrating when you attempt to 3D print an object expecting nice smooth sides but instead see a pattern of bands going up the print. It may look like the print layers are slightly shifted back and forth or that some layers printed wider while others printed narrower.

This banding effect, also known as z-wobble or ribbing, has a few causes.

If the layers look like they are shifting back and forth, this is z-wobble while periodic wider and narrower layers are ribbing. These different appearances have different causes but result in a very similar affect on the print.

Z-wobble is caused by the print head shifting slightly as it moves along the z-axis, usually as a result of the lead screw or one of the belts being loose or out of alignment. Ribbing on the other hand is cause by microstepping, resulting in layers that are slightly thinner or thicker than desired.

To fix these issues, we need to go over each cause one by one starting with the easiest to fix.

Check Resistance From Spool

The easiest thing to check for if you have Z-banding is if there is too much resistance from the filament spool.

As the print head moves around, it pulls on the filament from the spool. At the same time the extruder is also pulling on the filament as it pushes it through the hot end.

If there is too much resistance, often from a heavy and unbalanced spool, the extruder will not be able to pull the filament fast enough to keep up with the print. As the filament slowly gets pulled in, the spool will turn and the resistance will drop allowing the filament to flow as expected.

This flipping back and forth between higher and lower resistance from the spool cause the bands in the prints.

On my Anet, this was a common problem I had as the filament roll sat off to the side of the print on a spool holder. My newer Ender 3 does not have this issue as the spool sits above the printer.

Install a spool holder above the printer.This will reduce the resistance on the filament cause by having a long line of filament coming up and over the printer into the extruder.

Resistance can also come from the Bowden tube that is being used. If the tube had been crushes or damaged in any fashion, resistance in the tube followed by a jerk of the filament as the resistance is suddenly overcome, can cause the same problem.

If you are having an issue with resistance on the filament from the spool, try replacing the Bowden tube. You can also swap the Bowden tube for a low friction PDFE tube such as this 0.17” ID PDFE tube from Amazon.

Better Layer Heights

If your layer heights are not correctly set, you can get ribbing that results from microstepping.

Printing different layers is controlled by a z-axis stepper motor. The stepper motor works by turning the lead screw in step increments.

Each increment raises the print head by a fixed amount. For example, the stepper motor for the Ender 3 has step increments of 0.04 mm, the “magic number” for the Ender 3. As long as my layer heights are multiples of 0.04, each layer will be printed in fixed steps.

But what happens if I try to print a lay that is 0.1 mm?

This is where microstepping comes in. To achieve 0.1 mm with 0.04 step height, the stepper motor would need to use 2.5 steps. This half step is a microstep.

While high end 3d printers do a phenomenal job of implementing microstepping in more affordable printer microsteps maybe less precise than full steps. You want to limit your layer heights to either full or half steps to improve precision.

The majority of printers should not have problems with a half step. Most printers are capable of doing 16 microsteps for each step. If you choose a layer that requires a more fine microstepping, you will tend to have some slightly smaller layers followed by catch up layers.

The lead screw is moved using a magnet. If you attempt to microstep too small, the magnet will align to the next closest available alignment. This results in layers that are too thin followed by layers that are too thick called catch up layers.

For the thinner layers, the printer will still attempt to extrude filament based on the layer height provided. Excess filament gets pushes out to the side resulting in the ring that you see. A pattern develops as the microsteps catch up to the steps in the motor at regular intervals.

The best layer heights for you printer depend on the step increments. If you replace a stepper motor, you may need to determine if the “magic number” step height has changed.

Here is a chart with common values for the magic number for printers. Make sure that your layers heights are multiples of these numbers based on you printer.

PrinterMagic Number
Creality Ender Series0.04
Creality CR Series0.04
Monoprice Select Mini0.04375 (weird, I know)
Prusa i3 MK30.04
Anet A80.04
Anycubic Mega S0.04

These numbers may not be accurate if you have replaced the stepper motor, so check with the motor manufacture what the magic number is.

If you are unsure about the magic number for your printer, you can print a small test print from Thingiverse at different layer height to see which layer heights give you the best results.

Layer heights do not need to be full steps, but for the best results you want steps that are in increments of half steps.

Fix Lead Screw Alignment And Stability

The lead screw moves the print head arm up and down in a cantilever design 3D printer.

When the screw is loose or out of alignment, the arm moving the print head along the x-axis can move back and forth as it moves up the screw.


If the lead screw is out of alignment, you print will have a very clear back and forth pattern as it goes up along the z-axis. If the screw is not standing almost perfectly straight, it will push the arm back and forth as it turns.

The lead screw will never be perfectly aligned, but the small misalignment due to real world imperfections should not be significantly noticeable on your prints. Some people have driven themselves mad trying to get perfect Z alignment to no avail.

Why is the lead screw out of alignment?

The are several reasons misalignment can occur.

  • Stepper motor or lead screw brace is bent
  • Stepper motor brace is misaligned
  • Coupler is misaligned
  • Lead screw misaligned within coupler

When one of the braces is bent, you will need to either attempt to make some adjustments by hand or replace it. If the brace is simply misaligned, you can loosen the brace from the frame and re-align it.

If you have and Ender 3, you can print an adjustable z-brace mount from Thingiverse to help improve misalignment at the stepper motor brace.

A misaligned coupler can be fixed by loosening the coupler on the stepper motor, making the adjustment, and re-tightening. Move the print arm to the top of the printer to help with alignment.

The lead screw should fit snugly within the coupler. If there is a little bit of wiggle room, this can also contribute to misalignment. Loosen the hex screw, adjust the lead screw and re-tighten.

Stabilize Other Axes

Instability in the X or Y axes can also attribute to banding.

Check if your hot-end carriage or build plate is loose. These are usually driven by a belt along a rail system. If either are loose on the rails, this can contribute to ribbing.

Check The Hotend Carriage

If you have rails like the Ender 3, where there are wheels that run back and forth in grooves, tighten the bolts holding the wheels. These should be nice and snug so that the carriage does not shake but not too tight to interfere with printing.

Some printers like the Anet A8 use pole rails. Check that the ball bearings are secured to the hotend carriage and are not loose. You may also want to lubricate the pole rails to improve movement. Use a water resistant silicone lubricant like this one from Amazon.

Check to make sure the belt for the carriage is also tight. If the belt is loose, you will either need to tighten the belt tensioner or disconnect the belt, pull it tight, and reconnect.

Check The Build Plate

The build plate should also be tightly secured to it’s belt driven rail system. Most of the same techniques should apply here. The plate itself may give a little up and down on the leveling screws.

If the build plate uses wheels in groves to move back and forth, you will want to check that the wheels are tight.

For printers that use pole rails, there will be ball bearings connected to the build plate. These connections will need to be tightened. You may also want to lubricate the poles here as well.

Check if the belt is loose. Increase tension or disconnect the belt, pull it tight, and reconnect.

Maintain Consistent Heated Build Plate Temp

Likely the most difficult to problem is referred to as bang bang bed heating. This is caused by the heating and cooling of the heated print bed.

When you set the temperature of the heat bed, you might expect the bed to warm to the temperature and stay there. What actually happens is that the heat bed may over shoot the target temperature and has to cool down.

Depending on how your printer is set, it may overshoot and undershoot by so much that expanding and contracting of the build plate shifts your print resulting in banding.

To calibrate your printer for a more stable printer you use a process know as PID tuning.

PID tuning requires that you send GCODE commands directly to the printer in a terminal window. Commands can be sent using Repetier Host, Pronterface, or using the OctoPi.

To get the correct PID settings, you need to run the auto tuning process at the temperature you use when printing. For PLA, this is usually 60 °C.

The GCODE command you will send is M303 E-1. This tells the printer to conduct the auto tune. You set the temperature to auto tune for using S and can set the number of iterations to use, meaning the number of times to run the auto tuning, using C.

To set the auto tuning for 60 °C with 10 iterations, the full command would be

M303 E-1 S60 C10

The results from the auto tune will give you the estimated optimal PID settings. To set actually configure you PID now that you know you settings, you will need to send another GCODE command. If P = 30, I = 2, and D = 300 you would send the command

M304 P30.00 I2.00 D300

M500 saves the PID settings so that you do not need to refind them every time you start up your printer.

If there are significant changes in ambient air temperature around your printer, different times of the year, placed in an enclosure, etc, you may need to rerun the auto tune to get new PID values.

Other Factors

These factors are the top reasons that you might see banding. Here are a few other things to check if you are still having banding issues.

  • Tighten any loose screws or bolts. If anything is loose, the printer may shake causing banding in the print.
  • Place cardboard under your heated bed. This will help to stabilize temperatures as heat could leak out the bottom.
  • Check for cool drafts. Make sure your printer is not under an air vent or near a window that could cause a draft over the printer.
  • Lubricate lead screw and railings. This should reduce friction allowing moving parts to move more smoothly.

Verl Humpherys

I have been 3D printing since 2017, using both FDM and SLA printers. My prints have varied from small D&D figurines to full sized baby Groot. I printed mounts for my various game consoles and my Oculus Rift. Any problem you can have with a 3D printer, I have had. And I am here to tell you what I have learned.

Recent Posts