3D printing under-extrusion example — visible gaps between perimeter lines
Three cubes: left — under-extrusion, center — normal, right — over-extrusion

Your print looks gappy and weak, or comes out blobby with bulging corners? That's an extrusion problem — and it's one of the most fixable issues in FDM printing once you know where to look. This guide covers everything from diagnosing the issue to dialing in flow rate on any printer.

What It Is and How to Identify It

Under-extrusion means your printer isn't pushing out enough filament. Result: gaps between lines, fragile parts that snap easily. The part might look OK on the outside but have hollow infill and poor layer adhesion inside. Over-extrusion is the opposite — too much filament, causing blobs, rough surfaces, and dimensional inaccuracy.

Under-extrusion — gaps between lines and holes in walls
Over-extrusion — blobs and rough bumpy surface

Causes: Why It Happens

The problem can be in your slicer settings or in the hardware. These are the root causes in order of likelihood:

CauseUnder / OverSign
Wrong flow rate settingBothWalls consistently thinner or thicker than spec
Uncalibrated E-stepsBothPersistent deviation, doesn't respond to flow adjustment
Wrong filament diameter in slicerBothObvious on the first layer already
Temperature too lowUnderExtruder clicking, poor layer adhesion
Wet filamentUnderPopping/crackling sounds during print, bubbles in extrusion
Partial nozzle clogUnderGets worse over time, extruder clicks
Loose idler tensionUnderFilament slips, grind marks on filament
Temperature too highOverBlobs, stringing, filament too runny
Dirty/worn extruder gearsUnderInconsistent feed, grinding marks on filament

Fix 1: Calibrate E-Steps

E-steps (steps/mm) tell the stepper motor how far to spin to move exactly 1mm of filament. This is the foundation — if E-steps are off, no amount of flow rate tweaking will get you dialed in. Only recalibrate E-steps if you've swapped your extruder. Modern direct-drive printers (Bambu Lab, most CoreXY machines) come factory-calibrated.

  1. Heat the hotend to printing temperature for your filament
  2. Mark the filament 120mm from the extruder inlet
  3. Extrude 100mm via the printer menu or G1 E100 F100 command
  4. Measure the remaining distance from mark to extruder — should be 20mm. If 15mm, it extruded 105mm (too much); if 25mm, only 95mm (too little)
  5. Calculate: New E-steps = (Current E-steps × 100) / Actual mm extruded
  6. Apply with M92 E and save with M500 (Marlin)
  7. Repeat until within ±1mm of 100mm

Fix 2: Flow Rate Calibration in Your Slicer

Flow rate (extrusion multiplier) is your per-filament fine-tuning — it compensates for the specific melt behavior of each material. Every brand, color, and material type can have a slightly different optimal flow rate. Save it in your filament profile so you don't repeat the process.

Test Cube Method (universal — Cura / PrusaSlicer / OrcaSlicer)

  1. Measure your filament diameter at 5 points (~10cm apart), enter the average in your slicer
  2. Print a 20×20×20mm cube: 1 wall, 0% infill, 0 top layers, 0.2mm layer height
  3. Measure all four walls with calipers, average the results
  4. Calculate: New flow (%) = (nozzle diameter mm / measured wall mm) × 100. Example: (0.4 / 0.45) × 100 = 88.9%
  5. Enter the new value and reprint to verify
  6. Repeat until wall thickness is within ±0.02mm of target
Measuring test cube wall thickness with digital calipers for flow rate calibration
Measure the wall thickness at 4 points, average the results to calculate new flow rate

OrcaSlicer YOLO Method (recommended for OrcaSlicer 2.3.0+)

  1. In OrcaSlicer: Calibration menu → Flow Rate → YOLO (Recommended)
  2. Print the generated project — 11 blocks with different flow modifiers
  3. Find the block with the smoothest top surface, no visible gaps between the spiral arcs
  4. Note the modifier on the winning block (e.g. +0.01)
  5. Calculate: New Flow Ratio = Old Flow Ratio ± modifier. Example: 0.98 + 0.01 = 0.99
  6. Save to your filament profile
OrcaSlicer flow rate calibration — 9 test blocks with different flow rate modifiers
OrcaSlicer flow rate test blocks — pick the one with the smoothest top surface
OrcaSlicer YOLO — how to evaluate blocks: look for smooth surface with no gaps between arcs
What to look for: minimal or no visible line between the Inner Spiral and the Outer Arcs

Fix 3: Check Printing Temperature

Temperature directly affects melt viscosity. Too cold — the filament won't melt properly, causing extruder skipping and clicking. Too hot — the filament becomes runny, causing over-extrusion at slow moves, corners, and layer changes.

  • Under-extrusion from cold temps: increase in 5°C increments until clicking stops
  • Over-extrusion from heat: decrease 5°C at a time until it improves
  • Hardened steel nozzles need 5–10°C more than brass nozzles
  • Don't exceed the filament manufacturer's max — you'll degrade the material
  • Use a temperature tower to find the sweet spot for each filament

Fix 4: Wet Filament

Wet filament is an underrated cause of under-extrusion. Water vaporizes inside the hotend, creating bubbles that reduce the effective volume of extruded plastic. PETG, nylon, and TPU absorb moisture faster than you'd expect.

  • PLA: dry at 45–50°C for 4–6 hours
  • PETG: 65°C for 4–6 hours (most hygroscopic common filament)
  • ABS/ASA: 70–80°C for 4–6 hours
  • TPU: 60–65°C for 4–8 hours
  • Nylon: 80°C for 12+ hours
  • Store in sealed containers with desiccant between uses

Fix 5: Nozzle Clogs and Extruder Gears

If your flow rate is dialed in but under-extrusion persists, it's almost certainly mechanical. A partial clog creates constant back pressure that no slicer setting can compensate for. Dirty extruder gears grind through the filament instead of gripping it.

  • Cold pull: heat to printing temp, cool to 60–90°C (material dependent), yank the filament out sharply — it'll pull debris with it
  • Clear with a 0.3mm needle at 20–30°C above printing temp
  • If clogs are recurring, replace the nozzle — they're cheap consumables
  • Clean extruder gears with a stiff brush to remove plastic shavings
  • Check idler tension: filament should show clear gear impressions but not be ground away
  • If printing abrasive filaments (carbon fiber, metal fill) — use a hardened steel nozzle

Settings by Material

Here's a reference table for a well-calibrated printer with E-steps already done:

MaterialFlow RateNozzle TempNotes
PLA0.90–0.98190–220°CUsually under 1.0. Check E-steps if below 0.90
PETG0.95–1.00220–250°CVery hygroscopic! Dry before calibrating
ABS0.98–1.05230–260°CNeeds enclosure. Enclosed = more stable flow
ASA0.98–1.05240–260°CSimilar to ABS, more UV stable
TPU1.00–1.10220–240°CDirect drive required. Slow down for best results
Nylon (PA)1.00–1.05240–270°CVery hygroscopic — 12+ hours drying before print
Carbon / Metal fill0.95–1.00+5–15°C from baseAbrasive — hardened nozzle required. Clogs more often

If your calibrated flow rate lands way outside this table (like 0.75 or 1.20), the problem isn't the flow rate — check E-steps, nozzle condition, and filament diameter.

Printer-Specific Notes

Most of the advice above is universal, but here are platform-specific things to watch for:

Bambu Lab (A1, P1S, P2S, X1C)

  • X1C, A1, H2D — auto flow calibration: Bambu Studio → Calibration → Flow Rate. Lidar (X1C) or eddy current sensor (A1, H2D) do the measuring automatically
  • P1S, P2S — manual only: Bambu Studio → Calibration → Flow Rate → Manual. Or use OrcaSlicer YOLO method
  • E-steps are factory-locked — don't touch unless you swapped the extruder
  • Third-party filaments often need flow ratio reduced to 0.92–0.96 from the default 0.98

FlashForge (AD5M, AD5M Pro, AD5X)

  • Direct drive — E-steps are stable from factory, go straight to flow rate calibration
  • FlashPrint 5: Tools → Calibration → Flow Calibration. Or use OrcaSlicer with a FlashForge profile
  • AD5X with dual extruders: calibrate flow for each extruder independently

Klipper / Marlin printers (Creality, Prusa, Voron etc.)

  • Calibrate E-steps before flow rate: M92 E, M500 to save (Marlin); or steps_per_mm in printer.cfg (Klipper)
  • Bowden setups (older Ender 3, etc.) are more prone to under-extrusion from PTFE friction — inspect tube for bends and degradation
  • After switching to all-metal hotend — recalibrate E-steps

Calibration Checklist

  1. Check hardware: idler tension, extruder gear cleanliness, hotend condition
  2. Dry your filament (if there's any chance it absorbed moisture)
  3. Calibrate E-steps (only if you swapped the extruder or it's a first-time setup)
  4. Calibrate flow rate: test cube or slicer method (OrcaSlicer YOLO / Bambu Studio)
  5. Calibrate Pressure Advance / Linear Advance for crisp corners and seams
  6. Save to your filament profile — don't repeat this every session

Quick Diagnosis Table

SymptomLikely CauseAction
Gaps and holes in wallsFlow rate too lowIncrease flow rate by 2–5%
Extruder clickingClog or temperature too lowCold pull, increase temp 5°C
Blobs and bumpy surfaceFlow rate too highDecrease flow rate by 2–5%
Popping/crackling soundsWet filamentDry the filament
Problem only with new filament brandNeeds per-profile flow calibrationCalibrate flow for this specific filament profile
Problem appeared suddenlyPartial clog or dirty gearsClean extruder, cold pull
Flow below 0.90 or above 1.10 after calibrationProblem isn't the flow rateCheck E-steps, nozzle, filament diameter
First layer fine, then under-extrusionPartial clog worsening with heatReplace or clean nozzle
Under-extrusion only at corners/detailsPressure Advance not tunedCalibrate PA/LA

Frequently Asked Questions

Sources & Further Reading