What does the part cooling fan do?

By Asked 3D Content TeamPublished Last verified

What does the part cooling fan do?

The part cooling fan blows air onto the plastic leaving the nozzle so it hardens before the next layer, or the next unsupported line, lands on top. That makes bridges, overhangs, small details and sharp tips printable. The slicer sets its speed layer by layer: base PLA profiles keep it off on layer 1, then ramp to 100%.

The number

What Value Where it comes from
Part fan speed for PLA 100% PrusaSlicer and Bambu Studio PLA profiles; Cura’s default Fan Speed
Part fan on the first layer Off, then full by layer 2 (Bambu Studio, Cura) or layer 4 (PrusaSlicer) The same three
Part fan on PLA bridges and overhangs 100% Bridges fan speed, Fan speed for overhang, Bridge Fan Speed
Part fan in G-code M106 S0 to M106 S255: S255 is 100%, S128 is 50%. M107 turns it off Marlin’s G-code reference
Hotend fan Full speed above 50 °C (Marlin); in Klipper, on with the heater until the hotend cools below 50 °C EXTRUDER_AUTO_FAN_TEMPERATURE and EXTRUDER_AUTO_FAN_SPEED; Klipper heater_temp
PLA glass transition 60 °C Bambu Lab PLA Basic data sheet

The slicer values are read from the profiles shipped with PrusaSlicer 2.9.6, Bambu Studio v02.08.02.61 and Cura 5.13.0. The firmware values come from Marlin 2.1.2.9’s Configuration_adv.h, Marlin’s M106 and M107 pages and Klipper v0.13.0, and the glass transition from Bambu Lab’s PLA Basic data sheet (V3.0).

What is the part cooling fan responsible for?

It makes fresh plastic hold its shape. Prusa’s cooling guide names two jobs. Each layer must go down on one that has already set, or the nozzle drags and distorts the soft layer. Bridges and overhangs must freeze in place before they sag.

PLA leaves the nozzle at 190 to 230 °C (Bambu Lab’s data sheet range) and stays soft until it drops below its 60 °C glass transition. The fan has to get each line there before the nozzle returns.

  • Bridges: the line spans open air and has to set before it droops.
  • Overhangs: each line rests partly on nothing. Bambu Studio switches to its overhang fan speed once more than 50% of a PLA line’s width is unsupported.
  • Small parts and sharp tips: a tiny layer brings the nozzle back before the last one has cooled, so slicers raise the fan and slow down on short layers (see why small prints melt).

More air is not always better. Prusa notes that some materials warp or split between layers under a strong fan. Its guide says Keep fan always on is usually off for ABS, ASA, polycarbonate (PC) and some flexibles.

Which 3D printer cooling fan is which?

A 3D printer’s toolhead usually has two cooling fans: the hotend fan cools the heatsink so the filament stays solid until the melt zone, and the part cooling fan cools the plastic you just printed. The firmware runs the hotend fan; the slicer sets the part fan.

Never turn off the hotend fan. Do not slow it down either. A weak or stopped hotend fan causes heat creep, and Bambu Lab printers halt with hotend cooling fan speed abnormal.

  • Hotend fan (heatsink fan): blows through the heatsink fins above the heater. Marlin runs it at full speed once the nozzle passes 50 °C, and Klipper keeps it on until the hotend cools below 50 °C.
  • Part cooling fan: usually a blower with a duct aimed at the nozzle tip. The slicer sets its speed from the filament profile. In Klipper it is the [fan] section; Bambu Studio has a separate Auxiliary part cooling fan group for printers that have one.
A printer toolhead with two fans, a small fan on the hotend heatsink and a blower whose duct points at the nozzle tipThe hotend fan keeps the heatsink cool, while the part cooling fan aims its air at the plastic leaving the nozzle.2Part cooling fan: cools the fresh plastic1Hotend fan: cools the heatsink3Fresh plastic
  1. Hotend fan: cools the heatsink
  2. Part cooling fan: cools the fresh plastic
  3. Fresh plastic
The hotend fan keeps the heatsink cool, while the part cooling fan aims its air at the plastic leaving the nozzle.

Fans on the mainboard, the power supply or a chamber exhaust cool the electronics or the enclosure, not the print.

What are the part cooling fan settings?

PrusaSlicer and Bambu Studio keep them on the filament profile’s Cooling page, and Cura in the Cooling section of its print settings.

What it controls PrusaSlicer: Filament Settings, Cooling Bambu Studio: filament settings, Cooling Cura: Cooling
Master switches Keep fan always on; Enable auto cooling Keep fan always on Enable Print Cooling
Speed range Fan speed: Min and Max Fan speed in Min fan speed threshold and Max fan speed threshold Regular Fan Speed; Maximum Fan Speed
Layer-time switch points Enable fan if layer print time is below; Slow down if layer print time is below Layer time, beside each threshold Regular/Maximum Fan Speed Threshold; Minimum Layer Time
First layers Disable fan for the first; Full fan speed at layer Initial layer fan; Linear ramp up to Initial Fan Speed; Regular Fan Speed at Layer
Bridges and overhangs Bridges fan speed; Dynamic fan speeds Force cooling for overhang and bridge; Cooling overhang threshold; Fan speed for overhang Bridge Fan Speed, under Experimental, Enable Bridge Settings

The speed follows layer time. In PrusaSlicer and Bambu Studio, a layer that takes longer than the upper threshold runs at the minimum speed if Keep fan always on is ticked; otherwise the fan stays off. A layer quicker than the lower threshold gets the maximum, and layers in between get a proportional speed.

By default, Cura runs Regular Fan Speed on layers longer than 10 s and ramps toward Maximum Fan Speed on quicker ones. In all three slicers’ base PLA settings, minimum and maximum are both 100%, so the thresholds matter only for materials with a range.

How do you control the part fan with G-code?

M106 S255 runs the part cooling fan at 100%, M106 S128 at 50%, and M107 turns it off. M106 with no S means full speed.

Without a fan index, Marlin sends both commands to the print cooling fan, and Klipper sends them to its [fan] section. Neither command touches the hotend fan. In Marlin the new speed starts once the moves already queued are done.

How much part cooling for PLA, PETG and ABS?

  • PLA: 100% from layer 2 in Bambu Studio’s PLA profile, 100% minimum and maximum in PrusaSlicer’s. Some printer-specific PLA profiles start lower. See PLA fan speed.
  • PETG: 30 to 50% in PrusaSlicer’s PETG profiles for the MK3S and MK4, far below PLA’s 100%. See PETG cooling.
  • ABS: 10% on layers longer than 30 s in Bambu Studio’s base ABS profile, up to 80% on fast layers and overhangs. See ABS and the fan.

How to check it on your own print

  1. Tell the fans apart. With nothing printing, heat the nozzle past 50 °C. The fan that starts is the hotend fan, and it should keep running until the hotend cools. If it never starts, do not print until it is fixed.
  2. Test the part fan. Send M106 S255 from a G-code terminal; the fan that spins up is the part cooling fan. M107 stops it. If nothing spins, clear filament strings from the blower and check its plug.
  3. Check the profile. Open the Cooling settings and compare the speed range and first-layer values with the settings table.
  4. Preview the fan. In PrusaSlicer, set the preview view to Fan speed (%) and check that bridges and overhangs show the bridge speed.
  5. Adjust from what fails. If bridges sag or overhangs curl, raise the bridge or overhang fan speed (see drooping overhangs). If ABS layers split apart, turn the fan down. To print with no part fan at all, see printing without a cooling fan.

Sources

  1. Cooling (PrusaSlicer filament settings), Prusa Knowledge Base (accessed October 24, 2026)
  2. src/libslic3r/PrintConfig.cpp at version_2.9.6, PrusaSlicer on GitHub (accessed October 24, 2026)
  3. src/slic3r/GUI/Tab.cpp at version_2.9.6 (Cooling page), PrusaSlicer on GitHub (accessed October 24, 2026)
  4. resources/profiles/PrusaResearch.ini at version_2.9.6 (PLA and PETG profiles), PrusaSlicer on GitHub (accessed October 24, 2026)
  5. src/slic3r/GUI/GCodeViewer.cpp at version_2.9.6 (preview views), PrusaSlicer on GitHub (accessed October 24, 2026)
  6. src/libslic3r/PrintConfig.cpp at v02.08.02.61, Bambu Studio on GitHub (accessed October 24, 2026)
  7. src/slic3r/GUI/Tab.cpp at v02.08.02.61 (Cooling page), Bambu Studio on GitHub (accessed October 24, 2026)
  8. fdm_filament_common.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 24, 2026)
  9. fdm_filament_pla.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 24, 2026)
  10. fdm_filament_abs.json at v02.08.02.61, Bambu Studio on GitHub (accessed October 24, 2026)
  11. resources/definitions/fdmprinter.def.json at 5.13.0, Cura on GitHub (accessed October 24, 2026)
  12. M106: Set Fan Speed, Marlin Firmware documentation (accessed October 24, 2026)
  13. M107: Fan Off, Marlin Firmware documentation (accessed October 24, 2026)
  14. Marlin/Configuration_adv.h at 2.1.2.9, Marlin on GitHub (accessed October 24, 2026)
  15. docs/Config_Reference.md at v0.13.0 ([fan] and [heater_fan]), Klipper on GitHub (accessed October 24, 2026)
  16. klippy/extras/fan.py at v0.13.0, Klipper on GitHub (accessed October 24, 2026)
  17. Bambu Filament Technical Data Sheet V3.0, PLA Basic (Bambu Lab) (accessed October 24, 2026)