Native macOS fan control for Apple Silicon and Intel
Monitor every temperature sensor. Set precise fan speeds. Reduce noise during light work, maximize cooling under heavy loads.
Built with Swift and SwiftUI. No Electron, no web views, no bloat.
Note
This repository is the MacFansControl community hub — translations, issue tracking, and releases. MacFansControl is a free, closed-source macOS app; the source code is not published here. Download MacFansControl from Releases.
Updated 2026-09-16.
- GitHub — Version 1.1.6: OS 27 compatibility checked with Xcode 27 builds, automated helper-safety tests, and signed-artifact checks. The download supports Apple Silicon and Intel Macs.
Checks use Xcode 27 builds and automated tests where available. Full testing on physical devices has not been completed. Minimum OS requirements are unchanged.
- Existing users — update in app: open Settings > About > Check Now > Download & Install > Install Now. If
MacFansControl.appbelongs to your user it is replaced without a password; an app installed by another account asks for an administrator password once. Updating from 1.1.6 or earlier uses that version's installer one last time, so it asks for the password once. After the app relaunches, choose the Automatic fan preset, open Settings > General, and click Update Helper if it is offered; a held update keeps the existing helper and provides recovery guidance. - New installation: download
MacFansControl-v1.1.8.zip, extract it, and moveMacFansControl.appto Applications. Release files are namedMacFansControl-v<version>.zip; the latest release always has the current one. - Manual fallback: if the in-app updater is unavailable or fails, quit the app, extract the same ZIP, and replace the existing app in Applications. Choose Automatic before quitting; do not force helper replacement when its safety check is held.
- Signed with Developer ID, hardened runtime and a secure timestamp. Apple notarization accepted; ticket stapled; Gatekeeper verification passed.
- VirusTotal: 0 malicious, 0 suspicious; 62 undetected, 5 timeouts, 8 type-unsupported. View the exact-file report.
- Asset:
MacFansControl-v1.1.8.zip(version 1.1.8, build 6). The siblingMacFansControl-v1.1.8.zip.sha256contains the same checksum, and the in-app updater refuses any download that does not match it.
SHA-256
b05c3f484a6e2bc72afeee870e6b29018975ab6aa580bc6b7e505a834da9a3f6
To check a download yourself, put the ZIP and its .sha256 file in the same folder and run:
shasum -a 256 -c MacFansControl-v1.1.8.zip.sha256It prints MacFansControl-v1.1.8.zip: OK when the file is intact.
Temperature Monitoring
- Full sensor suite: CPU cores, GPU, SSD, battery, power regulators, ambient
- Real-time readings in the menubar with customizable display format
- Pin favorite sensors or category averages to the menubar
Fan Control
- Set exact RPM for any fan via slider
- Link fans to temperature sensors with custom curves (min/max temp-to-RPM mapping)
- Visual multi-point fan curve editor
- One-click return to automatic (system-controlled) mode
Safety
- Watchdog process returns fans to safe speeds if the app crashes or is force-quit
- Sleep/wake restoration re-applies your settings automatically
- Fans always return to automatic on clean quit
Presets
- Save and switch between named fan configurations
- Set a default preset that auto-applies on launch
Preferences
- Tabbed settings window: General, Sensors, Fans, Presets, Menu Bar, About, Disclaimer
- Drag-reorder favorites, hide sensors, copy Markdown snapshots
- Favorite category averages (CPU avg, GPU avg) for cleaner monitoring
- Launch at login, dock icon toggle, temperature unit (C/F)
- Per-app language override
Localization
- 8 languages: English, French, German, Spanish, Japanese, Korean, Portuguese (Brazilian), Chinese (Simplified)
- Community translations welcome via pull requests
| Generation | Variants |
|---|---|
| M1 | M1, M1 Pro, M1 Max, M1 Ultra |
| M2 | M2, M2 Pro, M2 Max, M2 Ultra |
| M3 | M3, M3 Pro, M3 Max, M3 Ultra |
| M4 | M4, M4 Pro, M4 Max, M4 Ultra |
| M5 | M5, M5 Pro, M5 Max, M5 Ultra |
| Intel | Coffee Lake, Whiskey Lake, Ice Lake (Mac mini, iMac, and generic Intel Macs) |
| Requirement | |
|---|---|
| OS | macOS 14.0 (Sonoma) or later |
| Chip | Any Apple Silicon or supported Intel Mac |
Download and move MacFansControl.app to your Applications folder.
On first launch, open Preferences > General and click Install Helper.
The background helper allows MacFansControl to change fan speeds without asking for your password every time. Installing it requires your administrator password once. This is a one-time setup — once installed, fan control works silently in the background.
Why is this needed? Changing fan speeds requires elevated (root) privileges. The helper runs as a small background service that handles these privileged operations securely via XPC, so the main app never needs root access itself.
MacFansControl lives in your menubar. Click the temperature readout to see sensors, fans, presets, and quick access to preferences.
This repository hosts the translation files for MacFansControl. You can help translate the app into your language or improve existing translations.
- Fork this repository
- Edit an existing file in the
languages/folder, or create a new one by copyingEnglish.xml - Translate the string values (the text between
<string>tags) — do not change theidattributes - Keep any
%1,%2,%@,%dplaceholders in place — the app needs them - Submit a pull request
| Language | File | Status |
|---|---|---|
| English | English.xml |
Complete |
| French | French.xml |
Complete |
| German | German.xml |
Complete |
| Spanish | Spanish.xml |
Complete |
| Japanese | Japanese.xml |
Complete |
| Korean | Korean.xml |
Complete |
| Portuguese (BR) | Portuguese_Brazilian.xml |
Complete |
| Chinese (Simplified) | Chinese_Simplified.xml |
Complete |
Want to add a new language? Copy English.xml, rename it to your language name, translate the values, and submit a PR.
Please use Issues to report bugs or request features.
If MacFansControl saves you from fan noise or thermal throttling, consider supporting development:
You need to install the background helper. Go to Preferences > General and click Install Helper. The helper runs as a privileged background service so you won't be asked for your password on every fan speed change.
macOS will ask for your administrator password once during helper installation. This is expected and safe — the helper is a small daemon that only handles fan speed writes via the SMC interface.
If you launch the app directly from the downloaded zip without extracting it first, you may see this error:
To fix this:
- Close MacFansControl if it's running
- Extract the zip file first (double-click the
.zipin Finder) - Drag
MacFansControl.appfrom the extracted folder to your Applications folder manually - Launch from Applications
This happens because macOS mounts zip contents as a read-only volume — the app can't move itself from there.
From version 1.1.7, Install Now in Settings → About replaces MacFansControl.app without a password when the app belongs to your user. macOS asks for an administrator password only when the app was installed by another account, for example when it is owned by root in /Applications, or when you update from 1.1.6 or earlier, whose installer always asks once.
If you see the error above ("couldn't be removed because you don't have permission") instead of a password prompt, you are on v1.1.2 or earlier. Download the latest version from Releases and install it manually — the issue is fixed since v1.1.3.
When a password is needed, use a macOS account with Administrator rights. If you are on a managed or work Mac with a Standard account, either ask your IT admin to install the update or download the ZIP from Releases and replace the app manually.
MacFansControl is a menubar app — it doesn't open a window on launch. Look for the temperature readout in your menubar (top-right area of the screen). If you don't see it, it may be hidden behind the notch on newer MacBooks — try closing other menubar apps to make room.
This usually means the background helper isn't installed or isn't running. Go to Preferences > General — if the helper status shows "not installed", click Install Helper. If it shows installed but fans still read 0 RPM, try clicking Reinstall Helper.






