macOS system monitor in your menu bar
You can download the latest version here.
This will download a file called Stats.dmg. Open it and move the app to the application folder.
To install it using Homebrew, open the Terminal app and type:
brew install statsRun the uninstall script bundled with the app (requires administrator privileges to remove the SMC helper):
sh /Applications/Stats.app/Contents/Resources/Scripts/uninstall.shThe script quits Stats and removes:
- the SMC helper (
/Library/LaunchDaemons/eu.exelban.Stats.SMC.Helper.plistand/Library/PrivilegedHelperTools/eu.exelban.Stats.SMC.Helper) Stats.app- application data and preferences (
~/Library/Application Support/Stats, widget containers, andeu.exelban.Statsdefaults)
If the app has already been moved to the Trash, the script can be run directly from the repository:
curl -fsSL https://raw.githubusercontent.com/exelban/stats/master/Kit/scripts/uninstall.sh | shLegacy version for older systems could be found here.
Stats is supported on macOS 12 (Monterey) and newer. Beta versions of macOS are not supported - only stable releases.
Stats is an application that allows you to monitor your macOS system.
- CPU utilization
- GPU utilization
- Memory usage
- Disk utilization
- Network usage
- Battery level
- Fan's control (not maintained)
- Sensors information (Temperature/Voltage/Power)
- Bluetooth devices
- Multiple time zone clock
macOS decides the order of the menu bar items not Stats - it may change after the first reboot after installing Stats.
To change the order of any menu bar icon - macOS Mojave (version 10.14) and up.
- Hold down ⌘ (command key).
- Drag the icon to the desired position on the menu bar.
- Release ⌘ (command key)
macOS 26 introduced a new privacy control under System Settings → Menu Bar. Apps must be explicitly allowed there to display menu bar items. If Stats is running with at least one module active and one widget enabled, but none of its icons show up in the menu bar, this is almost certainly the cause. More details you can find here.
Solution: open System Settings → Menu Bar and toggle Stats ON.
Due to a problem with high data load in the system process (chronod) responsible for communication between the app and widgets, communication is disabled by default on the Stats side. To enable it, the macOS widgets option must be enabled in the Stats settings. More details you can find here.
Solution: open Stats Settings and toggle macOS widgets ON.
Stats tries to be efficient as it's possible. But reading some data periodically is not a cheap task. Each module has its own "price". So, if you want to reduce energy impact from the Stats you need to disable some Stats modules. The most inefficient modules are Sensors and Bluetooth. Disabling these modules could reduce CPU usage and power efficiency by up to 50% in some cases.
Fan control is in legacy mode. It does not receive any updates or fixes. It's not dropped from the app just because in the old Macs it works pretty acceptable. I'm open to accepting fixed or improvements (via PR) for this feature in case someone would like to help with that. But have no option and time to provide support for this feature.
CPU/GPU sensors are simply thermal zones (sensors) on the CPU/GPU. They have no relation to the number of cores or specific cores. For example, a CPU is typically divided into two clusters: efficiency and performance. Each cluster contains multiple temperature sensors, and Stats simply displays these sensors. However, "CPU Efficient Core 1" does not represent the temperature of a single efficient core—it only indicates one of the temperature sensors within the efficiency core cluster. Additionally, with each new SoC, Apple changes the sensor keys. As a result, it takes time to determine which SMC values correspond to the appropriate sensors. If anyone knows how to accurately match the sensors for Apple Silicon, please contact me.
First, ensure that you are using the latest version of Stats. There is a high chance that a fix preventing the crash has already been released. If you are already running the latest version, check the open issues. Only if none of the existing issues address your problem should you open a new issue.
Most probably because it's a duplicated issue and there is an answer to the question, report, or proposition. Please use a search by closed issues to get an answer. So, if your issue was closed without any response, most probably it already has a response.
Stats does not collect any telemetry or analytics. The only external requests it makes are to the following APIs:
- https://api.mac-stats.com – For update checks and retrieving the public IP address
- https://api.github.com – Fallback for update checks
Both of these APIs are used to check for updates. Additionally, an external request is required to obtain the public IP address. I do not want to use any third-party providers for retrieving the public IP address, so I use my own server for this purpose.
If you have concerns about these requests, you have a few options:
- propose a PR that allows these features to work without an external server
- block both of these servers using any network filtering app (if you're reading this, you're likely using something like Little Snitch, so you can easily do this). In this case do not expect to receive any updates or see your public IP in the network module.
If you want to develop a new feature, or you've found something that doesn't work, the first step is to open an issue so the feature or problem can be discussed. Pull requests should only be opened for existing issues and after discussion; otherwise, they may be closed automatically. There are a few cases where this can be skipped: language changes, and contributors who have already made significant contributions and whose implementations align well with the project.
Stats is an open-source project: the full source code is available under the MIT license, and you are free to read it, learn from it, fork it, and build your own version of the app.
However, it is not an open-contribution project. Stats is developed and maintained by a single person, and keeping the project stable and coherent takes priority over accepting every proposed change. Reviewing external code, testing it across different Macs and macOS versions, and maintaining it afterward often takes more time than writing it in the first place.
For that reason, unsolicited pull requests are generally not accepted and may be closed without review. If you want to change or add something, please open an issue first so it can be discussed. The exceptions are translations and language fixes, which are always welcome, and contributions from people who have already made significant contributions to the project.
The best ways to support the project are reporting bugs, improving translations, and proposing ideas through issues.
- English
- Polski
- Українська
- Русский
- 中文 (简体) (thanks to chenguokai, Tai-Zhou, and Jerry)
- Türkçe (thanks to yusufozgul and setanarut)
- 한국어 (thanks to escapeanaemia and iamhslee)
- German (thanks to natterstefan and aneitel)
- 中文 (繁體) (thanks to iamch15542 and jrthsr700tmax)
- Spanish (thanks to jcconca)
- Vietnamese (thanks to HXD.VN)
- French (thanks to RomainLt)
- Italian (thanks to gmcinalli)
- Portuguese (Brazil) (thanks to marcelochaves95 and pedroserigatto)
- Norwegian Bokmål (thanks to rubjo)
- 日本語 (thanks to treastrain)
- Portuguese (Portugal) (thanks to AdamModus)
- Czech (thanks to mpl75)
- Magyar (thanks to moriczr)
- Bulgarian (thanks to zbrox)
- Romanian (thanks to razluta)
- Dutch (thanks to ngohungphuc)
- Hrvatski (thanks to milotype)
- Danish (thanks to casperes1996 and aleksanderbl29)
- Catalan (thanks to davidalonso)
- Indonesian (thanks to yooody)
- Hebrew (thanks to BadSugar)
- Slovenian (thanks to zigapovhe)
- Greek (thanks to sudoxcess and vaionicle)
- Persian (thanks to ShawnAlisson)
- Slovenský (thanks to martinbernat)
- Thai (thanks to apiphoomchu)
- Estonian (thanks to postylem)
- Hindi (thanks to patiljignesh)
- Finnish (thanks to eightscrow)
- Bengali (thanks to adnan29979)
You can help by adding a new language or improving the existing translation.

