Skip to main content
Mole
Overview Features Testimonials Pricing FAQ Blog
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
Buy now Download
Home/Blog

Mac Fan Control Apps and What They Can Reach

Performance · July 23, 2026 · 9 min read

Fan control software is a narrow category with an unusually wide trust surface. Reading a temperature sensor is an ordinary query any app can make. Writing a fan target is not: it requires root, so every tool here installs a privileged component that keeps running after the app itself is in the Trash. And what you install it for is smaller than it sounds: a fan curve does not remove heat, it moves heat, and only as fast as the vents and the room allow. Judge these tools by what they reach in the hardware, and by what they had to install to reach it.

What raising a fan floor actually buys

A faster fan moves more air across the heat sink, so the chip sheds heat earlier and the temperature curve during a long job flattens sooner. That can delay throttling under sustained load, which is the real benefit. It costs noise, fan wear, dust pulled through the machine, and battery on a laptop. It does nothing about the source: a runaway process, a blocked vent, or failing cooling hardware are all still there afterwards.

Every serious tool here enforces the same limit, which reads as a design statement rather than a restriction. Bjango's fan documentation says iStat Menus cannot lower fans below the speed the system would normally use, only raise them. smcFanControl's README makes the same promise in older words: a minimum only, never below Apple's defaults. You add a floor underneath the firmware's decision; you do not replace the decision.

Under the hood: reading is a query, writing is a privilege

Macs expose thermal and fan data through the System Management Controller, a small always-on controller with a key and value interface. Any user process can read those keys with no special rights, which is why free monitors show temperatures and RPM without a password prompt. Reading is never the interesting part of this category.

Writing a fan target is root only, so no fan app writes the SMC itself. It ships a second, privileged program and asks that program to do the write. There are three ways that program gets its privilege: a launchd daemon installed once through the system's SMJobBless mechanism, behind a macOS authorization prompt and with code signatures checked on both sides; a setuid root binary; or a sudoers rule letting a command run as root without a password. The first is the one to want, because the system installs it, it is revocable, and it verifies who is calling before it acts. The other two hand standing root privilege to a file path and then trust that path to stay honest.

That component does not live inside the app bundle. It sits in /Library/PrivilegedHelperTools with a matching launch daemon in /Library/LaunchDaemons, and dragging the app to the Trash leaves both behind, still root, still loaded at boot. Before installing a fan tool, find out which mechanism it uses and how it is removed. If the documentation does not say, you have learned something anyway.

Apple Silicon changed the shape of the problem. The SMC key namespace is not the Intel one, and sensor names and counts vary by machine, so each tool carries a per-model table and new hardware support arrives in release notes. Fanless models such as the MacBook Air have no fan to write to at all. And macOS keeps its own thermal control loop running underneath whatever you set. On recent chips it asserts itself directly: Tunabelly's FAQ states that M3 and M4 series hardware can restrict fan control and that no third-party app can override that, and Bjango lists the same behavior as a known issue when macOS has turned the fans off. Two vendors describing the same wall is the clearest signal available.

A read path running straight from a user process to the System Management Controller, and a write path from the same process stopped until it detours through a privileged helper, with the operating system's own thermal loop running underneath both.
Any app can read a sensor, but writing a fan target needs root, so every tool here ships a privileged component that keeps running after the app is gone.

The tools, and what each one reaches

Macs Fan Control, the common starting point

Macs Fan Control from CrystalIDEA is the tool most people meet first. It shows fan speeds and temperature sensors, including third-party drive sensors over S.M.A.R.T., and can run a fan at a fixed RPM or tie it to a chosen sensor. It lists Intel and Apple Silicon Macs across the full range, with current M-series support in a release dated April 2026. The app is free, and a Pro tier adds saved fan presets as a one-time purchase licensed per computer.

Its privileged component is fully documented. The uninstall instructions name the launch daemon com.crystalidea.macsfancontrol.smcwrite.plist and the helper com.crystalidea.macsfancontrol.smcwrite, and current versions remove both from the app's own More menu. Sensor-driven RPM is the reason to choose it, and the reason to be deliberate: a custom mapping is the easiest way to own a Mac that is loud for a rule you no longer remember writing.

TG Pro, the rules and diagnostics choice

TG Pro from Tunabelly Software is the widest reader in the group: per-core CPU on Apple Silicon, GPU, storage over S.M.A.R.T., battery condition, and board sensors that vary by model, alongside temperature-triggered Auto Boost rules, alerts, CSV logging, and diagnostic reports. It lists macOS 10.13 through macOS 26 and Intel through the M5 generation, with a release dated March 2026. It is a one-time purchase, and its FAQ states that one license covers up to three Macs for personal use and that 2.x updates have been free.

Fan control runs through a helper at /Library/PrivilegedHelperTools/com.tunabellysoftware.TGFanHelper with a matching launch daemon. Choose it when you want rules, logging, and alerts rather than a slider, and read its own statement about hardware limits first.

iStat Menus, fan control inside a monitor

iStat Menus from Bjango is a system monitor first, and fans are one panel within it. Version 7.3 requires macOS 11 or later, and its sensor coverage includes temperatures, fans, frequencies, and voltages. The fan documentation offers automatic, a custom curve that ramps with sensor temperature, and manual, with the raise-only limit stated plainly. Viewing temperatures and fan speeds at all requires its separate helper. Licensing is one-time in single and family editions, with discounted upgrades from the previous major version, and it is also inside the Setapp bundle.

Take it when you want the monitor and the fan panel comes with it. The rest of what it does belongs in a menu bar monitor comparison.

smcFanControl, historically important and now stale

smcFanControl is the ancestor of this category and needs a status report more than a recommendation. It is GPL-2.0, and its central idea was right: set a minimum only, never below Apple's defaults. The repository is not archived, but the shipping evidence is old. The last tagged stable release is 2.6 from October 2016, the only newer tag a 2018 beta, the last commit December 2022, and the compiled build its README links is still that 2016 one. The repository description says it controls the fans of every Intel Mac while the README also claims Apple Silicon; with nothing released since 2016, treat that line as unverified. Install it to read a piece of Mac history, not to cool a current Mac.

Mole, three presets instead of a curve

Mole offers no curve at all: Auto, Cool, and Max. SMC writes go through a root XPC helper daemon named com.tw93.MoleApp.systemhelper, installed with SMJobBless and validated by code signature, deliberately not a sudoers rule or a setuid binary. A preset is a hold rather than a setting: quitting the app restores Auto, so no Mac is left pinned by software that is no longer running. Fan and thermal readings also appear on the Status tab with a 60-second sparkline, and in the menu bar popover. The boundary is the missing feature: no per-sensor curves, no thermal repair. If your question is which sensor should drive which fan at which RPM, the tools above answer it and this one does not. Licensing is one-time with lifetime updates for two Macs on macOS 14 or later, with no telemetry.

Quick comparison

Tool Reads Writes fan speed Privileged component Licensing model
Macs Fan Control Fans, sensors, drive S.M.A.R.T. Fixed RPM or sensor-based Helper and daemon, paths published Free, optional one-time Pro
TG Pro Widest sensor set, battery and drive health Auto Boost rules, manual where allowed Fan helper and daemon, paths published One-time, up to three Macs
iStat Menus Full monitor plus sensors Curve or manual, raise only Separate helper required for sensors One-time, single or family
smcFanControl Temperatures and fans Minimum speed only Not documented in the repository GPL-2.0, no release since 2016
Mole Sensors and fans on the Status tab Three presets, Auto restored on quit SMJobBless helper, signature checked One-time, two Macs
A fan app moved to the Trash while its privileged helper in Library PrivilegedHelperTools and its matching launch daemon in Library LaunchDaemons remain on disk, still root and still loaded at boot.
Dragging the app away removes the interface, not the privilege. The helper and its launch daemon stay unless the vendor gives you a way to remove them.

A safe order of operations

Name the workload first. A fan that rises during a compile, an export, or a game is the cooling system working, and no software setting improves on that. Then fix airflow: a hard flat surface, clear vents, and nothing soft under a laptop resolve more fan complaints than any tool on this page.

Only then consider a floor, and treat it as a comfort setting for one known job rather than a repair. Set it, run the job, hand control back to automatic afterwards. A tool that cannot restore automatic control on quit or sleep is holding your fans rather than helping them. When the app goes, remove its helper and launch daemon too.

If the fan is loud at idle after all that, the problem is diagnosis rather than fan control, and the next steps are in why your MacBook fan is loud. If the worry is a temperature reading rather than the noise, how to check Mac temperature covers what that number does and does not mean. Most people should never run a manual fan curve. The default curve knows the model, the sensors, and the limits, and between the two of you it is the one that read the hardware specification.

Mole brings disk analysis, app maintenance, and review-first cleanup into one native app, while leaving system-owned data to macOS and the apps that own it.

Buy Mole Try it free

Keep reading

  • PerformanceChoosing a Mac System Monitor Beyond iStat Menus9 min read
  • PerformanceFix Google Chrome Helper High CPU on Mac3 min read
  • PerformanceHow to Check Mac Temperature and Fan Speed3 min read

Mole · 鼴

Cleanup, software, and status for your Mac.

v1.11.1 (98) · Release notes

Support

Help Documentation Releases

Legal

Terms of Service Privacy Policy Refund Policy

Resources

Blog CLI Tool Affiliates Program

Connect

Twitter hi@mole.fit

Only official site mole.fit · Fake sites may ship unsafe downloads

For your Mac, or a friend's. The CLI stays free for terminal workflows. May your time be your own.