Out of the box, most motherboards default to overly aggressive fan curves — they ramp up at the slightest temperature increase. Other boards err on the silent side and let things run too hot. Either way, the default rarely matches what you actually want. Setting up a custom fan curve takes about ten minutes and makes your PC noticeably more pleasant to use.
What a fan curve is
A fan curve tells the motherboard or controller how fast each fan should spin based on a specific temperature reading. It’s typically a graph with temperature on one axis and fan speed (as a percentage of max) on the other.
For example: “At 30°C, run at 30% speed. At 50°C, run at 50%. At 70°C, run at 80%. At 80°C+, run at 100%.”
The fan controller smoothly interpolates between those points.
Where to control fan curves
You have two main options:
UEFI (recommended)
Configure once, applies always — even before Windows loads. No software running, no overhead, no third-party apps needed. This is where I recommend starting.
Windows software
Tools like Fan Control (free, open source), Argus Monitor, or motherboard-specific apps like ASUS Armoury Crate let you tune curves in Windows. These give you more flexibility — like having different curves for different scenarios, or basing fan speed on the GPU temperature instead of the CPU. The downside: it’s another app running in the background, and fans run at default speeds before Windows boots.
Set up curves in UEFI
- Restart and press Delete (or whatever key) to enter UEFI.
- Look for a section called “Fan Settings,” “Smart Fan,” “Q-Fan Control,” or similar. The location varies by manufacturer.
- You’ll see a list of fan headers: CPU_FAN, CPU_OPT, SYS_FAN1, etc.
- Click on a fan header to configure it.
For each fan, you can set:
- Control mode: PWM (4-pin fans, smooth speed control) or DC voltage (3-pin fans). Auto-detect usually works.
- Temperature source: CPU temperature, motherboard temperature, etc. Pick what makes sense for the fan’s role.
- Curve points: drag points on the graph to set the curve.
Recommended curves
CPU cooler fan
Source: CPU temperature.
- 40°C → 30% (quiet at idle)
- 55°C → 40% (gentle ramp)
- 70°C → 60% (work harder under load)
- 80°C → 90% (almost full speed for hot loads)
- 90°C → 100% (emergency cooling)
AIO pump
Plug into AIO_PUMP or CPU_OPT header. Set pump to 100% always. AIO pumps make minimal noise; varying their speed is more trouble than it’s worth.
Front intake fans
Source: motherboard temperature.
- 30°C → 30%
- 40°C → 40%
- 55°C → 70%
- 70°C → 100%
Rear / top exhaust fans
Source: CPU temperature (since they exhaust CPU heat).
- 40°C → 30%
- 55°C → 50%
- 70°C → 70%
- 80°C → 100%
The art of the curve: avoid yo-yoing
The most common mistake is making the curve too steep around your idle temperature. If your CPU jumps between 40°C and 45°C as you do everyday tasks, and your curve goes from 30% at 40°C to 60% at 45°C, the fans will be constantly speeding up and slowing down. That’s more annoying than a steady moderate speed.
The fix:
- Keep the curve flat in your typical idle range (35-55°C).
- Use a steeper ramp only above that range.
- Set a small hysteresis if your UEFI supports it (delay before fan speeds change).
Why some fans never spin (zero-RPM mode)
Many UEFIs and most modern fans support zero-RPM below a certain temperature. The fan literally stops below a threshold (like 35°C) and only starts spinning above it. This is great for silence at idle, but causes a small “kick” when fans start up.
You can enable or disable this in the fan curve settings. I personally leave fans at a low minimum speed (like 25%) all the time — quieter overall because there’s no abrupt startup.
How to test your curve
After saving the curve:
- Boot into Windows.
- Download a free monitoring tool like HWInfo64 or CoreTemp.
- Note idle temps and the corresponding fan RPMs.
- Run a CPU stress test (Cinebench or Prime95 for 10 minutes).
- Check that temperatures stabilize at acceptable levels (below 85°C for most CPUs, below 95°C for top-end chips at their power limits).
- Note the fan RPMs at full load.
If temperatures climb too high under load, raise the upper curve points. If fans are too loud at idle, lower the bottom curve points.
Special case: GPU fans
GPU fans are controlled by the GPU itself, not the motherboard. To customize GPU fan curves, use:
- MSI Afterburner (works with all GPU brands, very popular).
- Nvidia App / GeForce Experience for Nvidia cards.
- AMD Adrenalin Software for AMD cards.
Most modern GPUs have aggressive default curves that prioritize cooling over noise. A custom curve can make a GPU significantly quieter at slight temperature cost.
Custom fan curves in Windows with Fan Control
For maximum flexibility, the free open-source app Fan Control is amazing:
- Mix multiple temperature sources for one fan (e.g., spin based on the higher of CPU or GPU temp).
- Different curves for different scenarios.
- Visual curve editor that’s far better than most UEFIs.
- System tray indicator for monitoring.
Install it, point it at your fan headers, and it generally figures out the rest. Excellent if you want serious control over your acoustics.
Quick rules of thumb
- Idle should be near-silent. You shouldn’t hear your PC across the room.
- Normal use (browsing, light games) should be quietly audible at most.
- Heavy load is the only time fans should be loud.
- If you can hear your fans speeding up and slowing down repeatedly, smooth out the curve.
Once dialed in, your fan curve is set-it-and-forget-it. You’ll wonder how you put up with the default for so long.