Precision cooling and power telemetry, right in your menu bar.

CoolMac reads raw AppleSMC registers and 64+ silicon sensors directly — pairing custom 4-point fan curves, live wattage Sankey rails, and a 95°C safety watchdog inside a zero-Dock Swift 6 utility.

  • 100% Free · No accounts or cloud
  • macOS 14 Sonoma & 15 Sequoia
  • Apple Silicon (M1–M4) & Intel
Balanced 2,840 RPM avg
CPU 54°C GPU 49°C
Manual Target Override 46% · 3,480 RPM
F0Ac Left: 2,810 RPM F1Ac Right: 2,870 RPM
LSUIElement · 0.04 W idle Open Dashboard

Interactive simulation — click presets, slide RPM, or inspect AppleSMC power rails above.

Test every curve, rail, and sensor live in your browser.

Switch workloads below, drag the 4-point curve handles, inspect 64-channel telemetry, or customize the status-trio menu bar renderer — simulated with real thermal inertia.

Synthetic Silicon Load:
Mac Fan Controller Interactive Simulation M3 Max · 2 Fans · XPC Helper Ready
Target: 46% duty
Left Exhaust Fan 2,810 RPM
F0Ac · Min 1,200 F0Tg: 2,850 · Max 6,100
Right Exhaust Fan 2,870 RPM
F1Ac · Min 1,200 F1Tg: 2,900 · Max 6,200

4-Point Piecewise Fan Curve (Drag Points)

100% 50% 0% 35°C 55°C 75°C 95°C
Sensor: 54.2°C → 46% duty P1 38°C/15% · P2 55°C/40% · P3 75°C/75% · P4 90°C/100%
SMC & XPC Activity Stream

    Illustrative browser physics modeled on CoolMac v1.2.3's SMCService, FanPreset, and TrioMenuBarIconRenderer.

    Engineered down to the 80-byte SMC struct.

    Every visual indicator maps directly to an AppleSMC register, IOHID thermal channel, or AppKit power optimization — nothing polled blindly or rendered at wasted refresh rates.

    Three hardware signals in a single 22pt menu bar glyph.

    TrioMenuBarIconRenderer composites battery charge, live wattage or fan state, and 4-stage speed into one wallpaper-adaptive CoreGraphics vector backed by a 96-entry LRU cache.

    1
    242.6° Split Battery ArcFrames charging bolt, AC plug, or numeric % inside the top gap.
    2
    Configurable Center SlotSwitch between turbine blades, system watts, battery %, or fan duty.
    3
    Cyan Override & Speed DotsLights electric cyan whenever manual RPM or custom curves override Auto.

    95°C hardware watchdog & deterministic quit restore.

    Even if you lock a silent profile during a heavy render, CoolMac trips automatically at 95°C CPU die temperature — and restores native Apple Auto cooling synchronously before the app exits.

    35°C Idle 75°C Load 95°C Trip
    68°C · Custom Curve Active

    Zero Dock icon. Near-zero background watts.

    Running as an AppKit LSUIElement accessory, CoolMac unmounts SwiftUI popover trees on close, skips 150-key SmartBattery dumps while hidden, and coalesces SMC key-info caches to stay under 0.05 W.

    CoolMac v1.2.3 (Closed Menu Bar) ~0.04 W
    Uncached 120Hz Status Monitor ~1.30 W

    Apple Silicon endian-aware SMC & fanless simulation.

    Decodes IEEE-754 flt floats, fpe2, sp78, big-endian fan mode bits, and little-endian arm64 battery rails (B0AV / B0AC). On fanless MacBook Airs (FNum == 0), virtual thermal physics activate automatically.

    F0Ac / F1AcLive tachometer RPM
    F0Md / FS! Apple Silicon & Intel mode
    PSTR / PDTRSystem & adapter watts
    PHPC / PDBRSoC & XDR display rails
    D1JV..D4JIPer-port USB-C delivery
    IOHID 64chDie, GPU & ANE fallback

    Read without root. Write only through an isolated helper.

    macOS protects fan target registers inside the kernel (kIOReturnNotPrivileged). CoolMac separates unprivileged monitoring from root register writes so you can inspect every sensor before authorizing anything.

    Unprivileged User Session

    euid != 0 · Instant
    • All 64+ Thermal Sensors: CPU cores, GPU clusters, Neural Engine, NVMe, and battery pack temperatures work immediately on first launch.
    • Live Tachometer & Power Sankey: Reads fan RPMs, adapter input, SoC watts, and USB-C port draw with zero admin prompts.
    • Zero-Risk Hardware Simulation: Test custom curves and UI behavior in Virtual Mode on any Mac without touching SMC registers.

    Isolated MacFanHelper Daemon

    NSXPCConnection · euid == 0
    • One-Time Touch ID / Admin Setup: Installs com.coolmac.smchelper cleanly so daily preset switches never ask for your password again.
    • Hardware-Clamped Bounds: Reads F0Mn and F0Mx directly from AppleSMC and rejects NaN, out-of-bounds, or unaligned register writes.
    • Never Fails Silently: Any XPC or permission error surfaces immediately in the popover banner with one-click recovery.

    Up and cooling in under a minute.

    No background bloatware, no account sign-in, and no kernel extensions (kexts).

    Mount & copy to Applications.

    Open MacFanController.dmg (2.6 MB) and move Mac Fan Controller.app into /Applications.

    Right-click → Open once.

    Because CoolMac is an independent ad-hoc signed build, right-click the app and choose Open on first launch to clear macOS Gatekeeper.

    Authorize helper when ready.

    Sensors and power Sankey start right away in the menu bar. Click Authorize Fan Control once with Touch ID or your admin password to unlock custom RPM curves.

    Download CoolMac for macOS.

    100% free release. Native Swift 6 binary with bundled MacFanHelper LaunchDaemon.

    CoolMac app icon

    CoolMac · Mac Fan Controller

    v1.2.3 Stable · macOS 14.0 Sonoma, 15.0 Sequoia & newer

    • Composite 22pt status-trio menu bar icon
    • 5 presets + 4-point curve editor
    • 64+ SMC & IOHID silicon sensors
    • Real-time Sankey power & Low Power toggle
    • 95°C hardware safety watchdog
    • Zero Dock icon (LSUIElement)
    Download MacFanController.dmg 2.6 MB
    Bundle ID: com.coolmac.MacFanController Free Forever · Ad-hoc Signed
    Terminal · Verify SHA-256 Checksum
    # Verify your downloaded installer
    shasum -a 256 ~/Downloads/MacFanController.dmg
    b956d032253c53e3172510a63fb61d4296a039223ac080fad56d51b2a1ba46a6
    Terminal · CLI Telemetry & Helper Setup
    # Inspect live SMC sensors & power rails in Terminal
    /Applications/MacFanController.app/Contents/MacOS/MacFanController --verify

    Questions before you spin up.

    Details on Apple Silicon safety, privilege separation, fanless MacBooks, and first-launch setup.

    Message @marco.tsk_smile

    Yes. CoolMac clamps every target RPM strictly within the hardware bounds reported by your Mac's own SMC (F0Mn to F0Mx), runs a continuous 95°C CPU watchdog that restores native Apple Auto mode if temperatures spike, and resets FS! / F0Md back to Auto synchronously whenever you quit the app.

    macOS allows any user-space app to read temperature sensors and wattage rails, but restricts writing to AppleSMC fan control keys to root (euid == 0). CoolMac installs a minimal MacFanHelper LaunchDaemon once so you never have to run the UI as root or type sudo repeatedly.

    All real-time silicon temperatures, battery health metrics, and AppleSMC Sankey power rails work natively on MacBook Air. When CoolMac detects FNum == 0, it enables Virtual Hardware Simulation mode for the fan controls while keeping real thermal and wattage telemetry active.

    CoolMac is distributed 100% free and signed ad-hoc rather than with a paid Apple Developer ID. In Finder, right-click Mac Fan Controller.app inside /Applications, choose Open, and confirm once — or allow it in System Settings → Privacy & Security.

    By design, CoolMac ships with LSUIElement = true and runs permanently as a .accessory menu bar utility. Even when you open the full Dashboard window (⌘W to close, ⌘Q to quit), your Dock stays completely clutter-free.