NetSpeedMonitor is a minimal menu bar app for macOS 26 and later. It reads per-interface byte counters with sysctl and displays current upload and download rates.
- Start at login.
- Choose an update interval from 1 to 60 seconds with a multi-stop slider.
- Open Activity Monitor directly from the menu.
- Automatically follow the effective network interface when a VPN connects or disconnects.
- Inspect all active interfaces or pin the display to a specific interface.
- Check for, download, verify, and install GitHub releases in the app.
- Choose whether update checks include GitHub pre-releases. The default channel only checks official releases.
- View the current version, project link, and author from About.
- Download
NetSpeedMonitor.zipfrom the latest GitHub release. - Unzip it and move
NetSpeedMonitor.appto/Applications. - Open the app. If macOS blocks the ad-hoc signed build, run:
sudo xattr -rd com.apple.quarantine /Applications/NetSpeedMonitor.appTo upgrade, choose Check Update from the NetSpeedMonitor menu. If the in-app updater cannot run, quit NetSpeedMonitor and replace the existing app in /Applications manually.
Automatic mode asks the macOS Network framework which interface carries traffic to a public IPv4 endpoint. This follows full-tunnel and route-based VPN changes without polling. Split-tunnel VPNs can route different destinations over different interfaces, so no single interface can represent every flow.
Per-process traffic monitoring is intentionally not included because continuously running nettop has significantly higher CPU overhead.
