Fan curves

The best Mac fan curve is a method, not a preset

There is no credible universal set of temperatures for every Mac, room, workload, and noise preference. There is a credible way to test one on qualified hardware.

Short answer

The best curve is the least aggressive curve that produces a repeatable, acceptable response for your named workload while actual RPM tracks target, thermal behavior remains legible, and Smart Breeze reliably returns the fans to System. Start with macOS System as the baseline, choose the nearest built-in profile, change one variable, repeat the same run, and keep the edit only if the measured tradeoff is useful. Build 22 can perform this fan-control test only on Mac16,7.

Why there is no universal best curve

A temperature/RPM table copied from another Mac omits the exact fan bounds, sensor availability, chip and chassis behavior, ambient conditions, power source, macOS power mode, workload shape, and the owner’s noise preference. Even two runs on the same Mac are not comparable if one begins heat-soaked or uses a different project.

Why there is no universal best curve: reference table
VariableHow it can invalidate a copied “best” curve
Exact model identifierBuild 22 qualifies control only on Mac16,7; another model may have different topology or no supported write path.
Fan boundsSmart Breeze percentages map between each fan’s reported minimum and maximum, not a universal absolute RPM.
Sensor sourceCPU, GPU, Battery, and hottest available can cross the same point at different times.
Power source and modeSmart Breeze switches adapter/battery curves, while macOS power modes can also change energy and fan behavior.
WorkloadA short burst, sustained export, mixed game scene, and idle recovery create different thermal timelines.
Room and placementAmbient temperature and blocked ventilation change the system before a curve is involved.

Choose the nearest starting profile

Built-in profiles provide documented shapes and a reversible baseline. Their names describe relative response timing inside Smart Breeze; they are not benchmark results. Begin with the one closest to the behavior you intend to investigate before creating a Custom draft.

Choose the nearest starting profile: reference table
ProfileAdapter first / middle / finalBattery first / middle / finalRelease
Performance48 °C/28% · 62/52 · 75/80 · 88/10054 °C/22% · 68/45 · 80/72 · 92/1004 °C hysteresis · 45 s cooldown
Balanced55 °C/22% · 68/44 · 80/72 · 92/10059 °C/18% · 72/36 · 84/66 · 95/1004 °C hysteresis · 45 s cooldown
Quiet Boost65 °C/22% · 75/42 · 86/74 · 95/10068 °C/18% · 78/36 · 88/68 · 96/1005 °C hysteresis · 60 s cooldown

The independent safety helper forces reported maximum at 95 °C on qualified hardware regardless of the selected profile. Quiet Boost’s 96 °C battery endpoint therefore does not postpone protective Max; it documents the curve shape, while the watchdog remains authoritative.

Design the test before the custom curve

  1. Name the workload and one phase: for example, the sustained middle of the same 12-minute export, not “heavy use.”
  2. Name the desired observation: earlier activation, a different sustained target band, or a more stable release, not “more performance.”
  3. Lock the conditions: project/input, application version and settings, power source, macOS power mode, placement, and approximate room temperature.
  4. Choose the sensor whose available aggregate repeatedly correlates with that phase; use Any Sensor if leadership changes.
  5. Define the stop conditions: controller mismatch, stale temperature, substantial persistent target/actual mismatch, helper error, or any unexplained system behavior.
  6. Define what evidence would make you reject the edit before you see the result.

Run System, preset, then one variant

Run System, preset, then one variant: reference table
RunPurposeDo not change
A · SystemCapture macOS ownership, temperature trend, thermal pressure, and actual RPM with no Smart Breeze override.Workload, power source, power mode, placement, duration.
B · Built-in profileMeasure the documented preset’s activation, target/actual behavior, and release.Sensor and all run conditions.
C · One custom editIsolate the effect of one point, one percentage, or release setting.Everything except the named curve variable.
D · RepeatCheck whether the useful difference repeats instead of relying on one noisy run.Return to comparable initial conditions first.

Smart Breeze’s 15-minute history is intentionally in-memory and separates temperature and fan-speed lanes. Record the time of workload start, first-point crossing, controller change, stable portion, workload end, release threshold, and verified System handoff. Screenshots without those events can make unrelated line movements look causal.

Change the part of the curve that matches the observation

Change the part of the curve that matches the observation: reference table
Observed behaviorOne candidate experimentWhat to verify
Smart Boost begins later than the repeatable warm-up you want to studyMove the first point slightly earlier while keeping its percentage and the remaining points fixed.Activation reason, macOS baseline, actual RPM response, and whether added fan time is acceptable.
The sustained phase sits between two points with less requested airflow than intendedRaise one adjacent middle percentage, preserving the nondecreasing order.Target/actual tracking and the sustained trend; do not assume the workload became faster.
Smart Boost repeatedly releases and re-engages around the same boundaryReview source stability first, then consider modestly more hysteresis or cooldown.A clean System handoff without keeping control materially longer than needed.
One aggregate does not represent all workload phasesSwitch the source to Any Sensor without changing points.Which fallback/category actually controls each run and whether activation becomes more repeatable.

Use explicit keep-or-reject criteria

  • Keep: the intended source and point activate at a repeatable workload phase.
  • Keep: actual RPM follows the bounded target without a persistent substantial mismatch.
  • Keep: the measured temperature/thermal-pressure trend changes in the intended direction across repeated comparable runs.
  • Keep: the noise and added fan time are acceptable to the person using the Mac.
  • Keep: the curve cools through hysteresis/cooldown and reliably returns to verified System ownership.
  • Reject: the result depends on different starting conditions, power mode, source fallback, or workload settings.
  • Reject and investigate: readings become stale, ownership is unclear, helper state errors, or actual fan response is persistently inconsistent with target.

Do not keep a curve because it produced the lowest single temperature point. Prefer a repeatable timeline you can explain from workload start through System handoff. A quieter preset can be better for one person; an earlier curve can be better for another. The method makes the tradeoff visible without pretending there is one answer.

Document the result and preserve the way back

  1. Record exact model, Build 22, macOS version, power source/mode, selected sensor, all points, hysteresis, and cooldown.
  2. Record run duration, workload version/settings, controller transitions, target/actual behavior, and any source fallback.
  3. Save only the Custom draft that passed the repeat run; otherwise use Restore Previous Curve.
  4. Choose System when the test is finished and confirm the dashboard reports macOS ownership.
  5. Copy Diagnostics for any unexpected state before quitting or restarting.

Use the custom-curve walkthrough for the editor mechanics, and the sensor guide to establish the input before you compare point shapes.

Sources and scope

Primary references and product scope

Apple sources define macOS and hardware behavior. Smart Breeze behavior is checked against the signed release and its documented safety boundaries. Where a conclusion is an inference or a method, this guide labels it as such.

  1. Smart Breeze safety model and product limitsSmart Breeze
  2. Smart Breeze compatibility by exact modelSmart Breeze
  3. Keep your Mac laptop within acceptable operating temperaturesApple Support
  4. Use power modes on your MacApple Support

Test the method

Begin with System, then change one thing.

The signed public beta includes the history, target/readback, curve editor, and verified System handoff needed for a measured comparison on Mac16,7.

Download Smart Breeze Build 22