Small bumps and pimples on the surface of your print are caused by pressure buildup at line starts and stops. Fix them with pressure advance, seam placement, wipe and coasting.
Every perimeter loop has a start point and an end point. At the start, the extruder commands plastic to begin flowing but it takes a fraction of a second for melt-zone pressure to build to the right level - too little plastic momentarily comes out (gap) and then too much (blob) once pressure equalises. At the end, the opposite happens - the extruder stops commanding flow but residual pressure in the nozzle continues to ooze plastic out for another fraction of a second, depositing a small bump.
Without firmware compensation, every perimeter on every layer experiences this start/stop pressure mismatch. The slicer aligns these start/stop points - the seam - in the same location on each layer, which is why blobs stack into a vertical line. The seam exists because perimeters are loops; you can hide it but you can't eliminate it.
Linear Advance (Marlin) and Pressure Advance (Klipper) are firmware features that compensate for this pressure delay automatically by predicting it and varying extrusion rate slightly ahead of speed changes. Properly calibrated, they virtually eliminate seam blobs and dramatically reduce general surface defects. They are the most-effective fix in the dataset and the reason new printers from Bambu, Prusa and Voron rarely show seam blobs out of the box.
WHEN THESE FIXES FAIL
**If blobs stack into a clean vertical line on the same face of every print** - it's the seam. Move it or compensate it (Pressure Advance).
**If blobs are scattered randomly with no consistent location** - this is wet filament or over-temperature. Check moisture and drop nozzle temp 5-10C.
**If blobs only appear on outer perimeters** - outer wall settings are wrong. Drop outer wall speed and run Pressure Advance calibration.
**If your printer is on Klipper, Bambu or recent Marlin and you've never calibrated Pressure/Linear Advance** - that's almost certainly your fix. Calibrate first.
**If blobs got worse after a filament switch (especially to PETG)** - PETG needs more aggressive blob prevention than PLA. Pressure advance K-factor differs by filament.
MOST LIKELY CAUSES
1
Pressure advance not calibrated
high confidence
Without pressure compensation, excess filament is deposited at line starts and stops.
→ Calibrate Pressure / Linear Advance once
→ Run a pressure advance test pattern and save the measured value
→ Reprint a seam-heavy test part after calibration
2
Seam placement visible
high confidence
Start and stop points stack in the same visible location, making blobs appear as a vertical line.
→ Set seam position to Sharpest Corner or Back
→ Use Aligned seam for round models
→ Rotate the model so the seam lands on a hidden face
3
Nozzle temperature too high
medium confidence
Hot filament flows too easily and continues oozing after extrusion commands stop.
→ Lower nozzle temperature by 5-10C
→ Run a temperature tower if the best temperature is unclear
→ Enable wipe on retraction at 0.2-0.5 mm
WANT SETTINGS TUNED FOR THIS ISSUE?
Generate slicer settings based on your printer, filament, and this exact problem.
Small bumps, pimples or blobs scattered across the outer surface of a print, often stacked at the same point on every layer to form a vertical line.
Why It Happens
Every perimeter loop has a start point and an end point. At the start, the extruder commands plastic to begin flowing but it takes a fraction of a second for melt-zone pressure to build to the right level - too little plastic momentarily comes out (gap) and then too much (blob) once pressure equalises. At the end, the opposite happens - the extruder stops commanding flow but residual pressure in the nozzle continues to ooze plastic out for another fraction of a second, depositing a small bump.
Without firmware compensation, every perimeter on every layer experiences this start/stop pressure mismatch. The slicer aligns these start/stop points - the seam - in the same location on each layer, which is why blobs stack into a vertical line. The seam exists because perimeters are loops; you can hide it but you can't eliminate it.
Linear Advance (Marlin) and Pressure Advance (Klipper) are firmware features that compensate for this pressure delay automatically by predicting it and varying extrusion rate slightly ahead of speed changes. Properly calibrated, they virtually eliminate seam blobs and dramatically reduce general surface defects. They are the most-effective fix in the dataset and the reason new printers from Bambu, Prusa and Voron rarely show seam blobs out of the box.
What The Community Data Says
Based on 260 confirmed fixes from r/FixMyPrint, these are the causes ranked by how often they actually worked:
1. Pressure Advance / Linear Advance not calibrated - the single biggest fix on Klipper, Bambu and recent Marlin firmware. A one-time K-factor calibration eliminated most seam blobs.
2. Seam placed in a visible position - moving seam to 'Sharpest Corner' or 'Back' hid existing blobs even when settings stayed the same.
3. Wipe on retraction not enabled - turning on the slicer's wipe move dragged residual ooze inside the model on retraction.
4. Nozzle temperature too high - dropping 5-10C reduced ooze at line transitions. Especially impactful for PETG.
5. Coasting not enabled - letting nozzle pressure dissipate naturally at line ends instead of forcing the seam to absorb 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 blobs stack into a clean vertical line on the same face of every print - it's the seam. Move it or compensate it (Pressure Advance).
If blobs are scattered randomly with no consistent location - this is wet filament or over-temperature. Check moisture and drop nozzle temp 5-10C.
If blobs only appear on outer perimeters - outer wall settings are wrong. Drop outer wall speed and run Pressure Advance calibration.
If your printer is on Klipper, Bambu or recent Marlin and you've never calibrated Pressure/Linear Advance - that's almost certainly your fix. Calibrate first.
If blobs got worse after a filament switch (especially to PETG) - PETG needs more aggressive blob prevention than PLA. Pressure advance K-factor differs by filament.
Fixes By Cause
Cause 1: Calibrate Pressure / Linear Advance
Klipper: run `TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.005` and follow the wiki procedure to find your K. Typical PLA: 0.03-0.05. Typical PETG: 0.05-0.08. Bambu printers calibrate this automatically per filament with the built-in flow dynamics calibration. Marlin (1.1.9+): use M900 K<value> and the calibration tool at marlinfw.org/tools/lin_advance/k-factor.html.
Cause 2: Move the seam
Cura: 'Z Seam Alignment' = 'Sharpest Corner' or 'User Specified' (back face). PrusaSlicer: 'Seam position' = 'Rear' or 'Aligned'. OrcaSlicer/Bambu Studio: 'Seam position' = 'Back' or 'Aligned'. For cylindrical models with no corners, 'Aligned' creates one consistent seam line you can rotate to a hidden face.
Cause 3: Enable wipe on retraction
Set wipe distance to 0.2-0.5 mm. The nozzle drags along the already-printed perimeter during retraction, smearing residual ooze inside the model where it isn't visible. No downside - enable always.
Cause 4: Lower nozzle temperature
Drop 5-10C from your current temperature. PLA blobs aggressively above 215C. PETG above 240C. Test with a temperature tower if you're unsure of your filament's lower limit.
Cause 5: Enable coasting (Cura) or scarf seam (OrcaSlicer/Bambu)
Cura: Coasting Volume 0.06-0.1 mm3. This stops extrusion slightly before the end of each perimeter so residual pressure naturally completes the line. OrcaSlicer/Bambu: enable 'Scarf seam' which ramps extrusion up and down at the seam to blend the start/stop transition.
Printer-Specific Notes
Bowden printers (Ender 3 family): Bowden setups have more pressure delay because the long tube absorbs flow changes. Linear Advance K is higher for Bowden (typically 0.1-0.15 for PLA) than direct drive. Calibrate even if you don't think you need it.
Direct drive printers (Bambu, Prusa MK4S): Bambu's flow dynamics calibration runs automatically with each filament profile. Prusa MK4S has Linear Advance pre-calibrated for stock filaments. If you're running custom filament, run their calibration once.
Enclosed printers (Bambu P1S, K1 Max): Higher chamber temperature can increase ooze. Drop nozzle temp 5C below open-air values for the same filament inside an enclosed printer.
Filament-Specific Notes
PLA / PLA+: Easiest to keep blob-free. Pressure Advance K around 0.04 (direct) / 0.1 (Bowden). Lower temps (200-205C) reduce blobs further.
PETG: The most blob-prone common filament. Needs aggressive Pressure Advance (0.06-0.08 direct), low temp (230-235C), wipe on retract, and acceptance that some blobs are normal.
ABS / ASA: Moderate blob behaviour. Pressure Advance around 0.04. Run cooler (235-240C) to reduce ooze.
TPU: Weird Pressure Advance behaviour because of TPU's elasticity. Set K very low (0.02 or off entirely) and rely on slow speeds and seam placement for blob control.
How To Prevent It Next Time
Calibrate Pressure / Linear Advance once per filament family and save it to your slicer profile. The single biggest blob-prevention investment you'll make.
Set seam to 'Sharpest Corner' as your default - it hides seams in geometry that would otherwise show them. Override to 'Back' for cylindrical models you'll display from one side.
Watch for filament changes that bring different blob behaviour. Switching brands within the same material can change the optimal K-factor by 20-50%.
Get An Exact Fix For Your Setup
Use FixMyPrint to get pressure advance values, seam settings, wipe distance and temperature tuned for your specific printer and filament - based on what actually worked for similar issues in the community.
Go to /settings-generator to generate yours.