Blobs and zits on 3D prints: how to get rid of them
Blobs and zits are small bumps on the surface of a 3D print, left wherever the nozzle starts, stops or pauses on an outer wall. Where they appear tells you the cause: a vertical line is the seam, bumps on every corner mean pressure advance needs tuning, and random zits usually come from retraction and ooze.
- Set the seam to Aligned or Rear so the start and end points line up in one hidden place.
- Calibrate pressure advance (Klipper, Bambu, Prusa, OrcaSlicer) or linear advance (Marlin) if corners bulge.
- Enable wipe and check your retraction length is sensible for your extruder.
- Try a scarf seam on smooth, curved parts if your slicer has one.
- Dry the filament if zits come with popping or hissing.
Identify the bump first
Look closely at where the bumps sit on the print. Each pattern has a different fix.
| Where the bumps are | Cause | Fix |
|---|---|---|
| A vertical line running up the part | Z seam: every loop starts and ends there | Seam placement or scarf seam |
| Every corner bulges; line starts look thin | Pressure advance or linear advance too low or off | Tune pressure advance |
| Random zits scattered over walls | Retractions and restarts on the outer wall, or travel moves crossing it | Retraction, wipe and travel |
| Zits plus popping, bubbles and fuzz | Wet filament | Dry the filament |
| Lumpy everywhere, rough top surfaces | Too much plastic overall | Over-extrusion |
| One horizontal line around a Benchy hull | Layer time change at the deck | Benchy hull line |
Z seam position: Aligned, Rear, Nearest or Random
Every wall loop has to start and finish somewhere. That joint leaves a tiny bump or dip, and stacking them up the part creates the Z seam. You can't remove it entirely, but you can choose where it goes.
| Slicer | Seam options |
|---|---|
| PrusaSlicer | Nearest, Aligned, Random, Rear, plus seam painting |
| OrcaSlicer | Aligned, Aligned back, Nearest, Back, Random, plus seam painting |
| Bambu Studio | Aligned, Nearest, Back, Random, plus seam painting |
| UltiMaker Cura | Z Seam Alignment: User Specified, Shortest, Random, Sharpest Corner, with a Seam Corner Preference setting |
- Aligned or Rear/Back gives one tidy line. Best for parts with a back you won't see.
- Nearest or Sharpest Corner tucks the seam into corners, where it's almost invisible on boxy parts.
- Random spreads the joints over the whole surface. There's no line, but every wall gets a light texture of zits, so it rarely looks better.
- Seam painting lets you draw exactly where the seam goes, for example along a hidden edge.
On boxy parts, put the seam in a corner. On round parts, put it at the back or use a scarf seam.
Don't pick Random to hide a seam on a smooth cylinder; you'll trade one line for hundreds of zits.
Scarf seams
A scarf seam ramps the end of each loop up and the start down over a short distance, so the two ends overlap gradually instead of meeting at one point. It works best on smooth, curved walls. It's available in OrcaSlicer 2.0 and later, Bambu Studio 1.9 and later, PrusaSlicer 2.9 and later, and Cura 5.9 and later (as an experimental setting). Settings and names differ, so start from your slicer's defaults and adjust gradually.
Once pressure advance is tuned, a slightly larger seam gap (the small space left between the two ends of a loop) reduces bulging at the joint. OrcaSlicer's seam guide also notes that the inner/outer/inner wall order typically gives the cleanest seams, followed by inner/outer.
Pressure advance and linear advance
Molten plastic in the nozzle acts like a spring. When the toolhead speeds up, pressure lags, so line starts come out thin. When it slows for a corner, pressure is still high, so plastic bulges out. Pressure advance (Klipper, Prusa, Bambu, OrcaSlicer) and Linear Advance (Marlin) push a little extra filament during acceleration and pull back during deceleration to keep the flow matched to the speed.
- Bambu Lab: called Flow Dynamics Calibration. Many models can run it automatically before a print; you can also run it manually from Bambu Studio's Calibration tab and save the result per filament.
- Prusa: the MK4/S, XL, MINI and CORE One use Pressure Advance set with
M572in the PrusaSlicer filament profile's custom G-code. The MK3 series uses Linear Advance withM900. Prusa's own filament profiles already include tuned values. - OrcaSlicer: Calibration → Pressure advance prints a tower, line or pattern test.
- Klipper: print a tuning tower and read off the height where corners look best.
- Marlin: enable
LIN_ADVANCEin the firmware, print Marlin's Linear Advance calibration pattern, then set the K-factor withM900 K.
Tuning pressure advance on Klipper
- Calibrate rotation_distance and temperature first. Pressure advance tuning assumes extrusion is already correct.
- Disable scarf seams and dynamic acceleration control in the slicer for the test print.
- Run the commands below, then print Klipper's square tower test object. Use
FACTOR=.020instead of.005for long Bowden setups. - Find the height with the sharpest corners and calculate pressure_advance = START + height × FACTOR. Save it in
[extruder].
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500
TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005
[extruder]
pressure_advance: 0.040 # example: best corners at 8 mm, 0 + 8 x 0.005
Values vary by extruder and filament. Klipper's docs quote a typical range of about 0.050 to 1.000, with the high end usually only on Bowden extruders; many direct drive setups land at the low end or just below it.
Setting linear advance on Marlin
Marlin recommends adding the K-factor to the slicer's start G-code so you can change it per filament:
M900 K0.08 ; Linear Advance K-factor from the test pattern (example)
Every corner on your calibration cube has a small bulge, and the start of each wall looks slightly thin. What's the most likely fix?
Bulging corners plus thin line starts are the classic sign of nozzle pressure lagging behind speed changes, which is exactly what pressure advance corrects. A random seam would just scatter zits, and hotter plastic would ooze more.
Retraction, wipe and coasting
Random zits usually appear where the nozzle retracts, travels and restarts on an outer wall. A tiny bit of ooze or under-primed start leaves a mark each time.
| Setting | What it does | Where to find it |
|---|---|---|
| Retraction length and speed | Pulls filament back before travel so less oozes out | Printer or filament settings in every slicer |
| Wipe while retracting | Moves the nozzle along the wall during retraction so ooze lands on the print, not as a zit | PrusaSlicer, OrcaSlicer, Bambu Studio: Wipe while retracting; Cura: Outer Wall Wipe Distance |
| Avoid crossing walls | Routes travel moves around visible walls | PrusaSlicer: Avoid crossing perimeters; OrcaSlicer, Bambu Studio: Avoid crossing wall; Cura: Combing Mode |
| Coasting | Stops extruding just before a line ends and lets pressure finish it | Cura: Enable Coasting (experimental) |
Don't stack pressure fixes. Tune pressure advance first, then retraction. Marlin's Linear Advance docs recommend switching off coasting and similar options once LA is working. Klipper suggests keeping a small retraction (for example 0.75 mm) with wipe after tuning pressure advance, and turning off Z-lift on retract.
Retraction length mostly drives stringing, so if you're also seeing hairs between parts, tune it with the stringing and oozing guide. Scars and drag marks on top surfaces are a slightly different problem: try Z-hop only over printed parts, and check you aren't over-extruding, which leaves ridges for the nozzle to catch.
Free PrintPal toolG-code ViewerScrub through layers to see where seams and travel moves landOpen toolThe Benchy hull line
The Benchy hull line is a single horizontal line around the hull at roughly the height of the deck. Prusa's research points to a sudden change in layer time where sparse infill turns into solid deck layers, and again where the deck ends. The walls cool and shrink differently on those layers, which leaves a visible step.
It's not a hardware fault, so tightening belts or replacing Z rods won't help. Its severity depends on the filament, cooling and room temperature. Prusa reduced it in its sample G-code using a modifier mesh in the shape of the deck to separate the deck from the hull walls. For everyday prints, accept that it's a known quirk of this test model rather than a sign your printer is broken.
If you see uneven lines all the way up the part instead, that's a different issue; start with the 3D printer calibration guide.
Frequently asked questions
What causes zits on 3D prints?
Zits form wherever the nozzle starts, stops or retracts on an outer wall. A small amount of pressure or ooze leaves a bump at that spot. Seam placement, pressure advance, retraction and wipe settings control how big the bumps are and where they land.
How do I hide the Z seam on a 3D print?
Set the seam to Aligned or Rear so it forms one tidy line in a hidden spot, or let the slicer tuck it into sharp corners. Most slicers also let you paint where the seam goes, and newer versions offer scarf seams that blend the start and end of each loop.
What is a scarf seam?
A scarf seam ramps the start and end of each wall loop gradually, so the two ends overlap like a scarf joint in woodworking instead of meeting at a single point. It makes seams on smooth, curved walls much less visible. OrcaSlicer, Bambu Studio, PrusaSlicer and Cura all offer it in recent versions.
Does pressure advance fix blobs?
It fixes blobs and bulges at corners and line ends, which are caused by pressure lagging behind speed changes. It will not fix zits from wet filament or over-extrusion, and it should be tuned before retraction.
Should I use coasting with pressure advance?
Usually not. Coasting and pressure advance both try to manage nozzle pressure at the end of a line, so using both tends to cause gaps. Marlin's Linear Advance documentation recommends disabling coasting once Linear Advance is set up.
Related articles
Sources & further reading
- Prusa Knowledge Base — Seam position
- OrcaSlicer Wiki — Seam settings
- Klipper Docs — Pressure advance
- Marlin Firmware — Linear Advance
- Bambu Lab Wiki — Flow dynamics calibration
- Prusa Knowledge Base — The Benchy hull line
Tools for thisAll tools
Watch it doneVideo library
Thanks! We read every note and use them to decide what to update next.