Live network speeds, CPU/GPU stats, temperatures, and power draw - right on your Windows taskbar. Open source, signed, no ads, no telemetry. The feature Windows forgot.
Install · Features · The Monitor · Hardware & temperatures · FAQ · Support 💛
🎉 v2.0 is here - the biggest release yet. The widget now docks to the taskbar itself, so it no longer vanishes behind the Start menu or system flyouts. And everything beyond the readout moved into one calm window - the new Monitor - with history charts, honest per-app and per-process detail, exportable statistics, network latency, and data-usage tracking. Read the release notes →
winget install --id erez-c137.NetSpeedTrayOr grab the latest Setup.exe or Portable.zip directly. Both are digitally signed - no SmartScreen warnings.
Requirements: Windows 10 or 11 (64-bit). The widget needs no admin rights. CPU/GPU temperatures on some hardware need an optional helper - see below.
The widget lives on your taskbar - at its simplest, just your up & down speeds:
➕ Show more on the taskbar - mini-graph, CPU/GPU/RAM, temps & power
Double-click it for the Monitor - the whole story behind the numbers:
Overview. Live tiles + adaptive sparklines, a network hero with inline latency, a data-usage card, and top talkers - every card drills into detail.
↓ Click to explore the rest ↓
🌐 Network - history graph + honest per-app connections
🖥️ Hardware - combined CPU/GPU graph + per-process usage
⚙️ Settings - six pages, a live preview, and a Windows 11 feel
Appearance - fonts, colours, and arrow-style presets, with a live widget preview at the bottom that updates as you change things.
General - language, update rate, behaviour, preferred monitor, and configurable double-/middle-click actions. Six pages in all: General · Widget · Appearance · Hardware · Network · Advanced.
Windows has shown network usage in Task Manager since forever - but you have to open Task Manager to see it, and it's gone the moment you click away. That's the gap I wanted to fill on my own machine, and I couldn't find a widget I trusted to do it cleanly.
So I built NetSpeedTray: live up/down speeds, CPU and GPU utilization, temperatures, and power draw - all sitting in your taskbar where you can glance at them without breaking your flow. No browser tab open, no third process to babysit, no telemetry, no ads, no tracking. Built with Python and PyQt6, and signed by the SignPath Foundation so it installs cleanly.
🌐 Network on your taskbar. Live upload and download speeds with sub-second updates. Auto-detects your primary internet connection or lets you pick specific adapters. Color-code thresholds so heavy traffic stands out at a glance. In 2.0 the readout sits inside the taskbar's layer - it stays put through the Start menu, Quick Settings, and the tray overflow instead of disappearing.
🖥️ Hardware stats too. CPU and GPU utilization beside your network speeds, with optional temperature, power (Watts), RAM, and VRAM. Vendor-agnostic GPU support - NVIDIA, AMD, and Intel. (When do temps need a helper? →)
📊 The Monitor. One window, three tabs - Overview, Network, Hardware - with history charts, per-app connections, per-process resource use, and statistics you can export to CSV/JSON. Double-click the widget to open it.
📈 Usage & data caps. Daily / weekly / monthly totals, a settable monthly cap with a billing reset day, and opt-in 80% / 100% alerts - shown as a quiet flyout above the widget, no extra tray icon.
🩺 Network latency. An opt-in probe shows a plain-word verdict - Internet: Good / OK / Slow - with the milliseconds as quiet subtext. Defaults to your gateway (stays on your LAN).
🎨 Make it yours. Layout modes, fonts, decimals, arrow styles, color thresholds, a mini-graph overlay, light/dark auto-theming, and a live preview in Settings that shows the exact effect before you commit.
🔒 Trustworthy by design. Open source under GPLv3. Signed installer, zero ads/tracking/telemetry, logs auto-redacted of paths/IPs/MACs/hostnames, and an in-app updater that verifies the signature before running anything.
Double-click the widget (or pick Monitor from the right-click menu) to open it. One window replaces the two older, separate Graph and App Activity windows. Three tabs share a single graph engine and timeline - and the Overview is intentionally chart-free, so a quick glance never loads the heavy plotting libraries.
-
🏠 Overview - the at-a-glance control center. Live tiles for network, CPU, GPU, RAM, and VRAM, each with a sparkline that adapts its scale so low-but-varying activity reads in detail. A network "hero" card shows download and upload as co-equal headline numbers with an inline latency read, a context strip across the top (session uptime, period totals, CPU + GPU power), a Data usage card, and a Top talkers list. Every card is clickable and drills into detail.
-
🌐 Network - history + who's actually talking. The history graph over a per-app connection list: how many live connections each program holds, how many are active, and the distinct remote hosts it's reaching. Honest by design - Windows can't attribute network bytes per app without a kernel driver, so nothing is dressed up as a per-app "speed." A per-NIC filter scopes both the graph and the totals.
-
🖥️ Hardware - the system, in depth. A combined CPU + GPU history graph (with separate-axis and one-at-a-time modes, optional smoothing, and a fixed/auto y-axis) over a live per-process CPU / RAM / GPU% list, plus a telemetry band of temperatures, power, and memory.
-
📐 Honest statistics & export. Click any card for a Statistics sheet: the real distribution (min / avg / peak, with percentiles shown only where they're exact), peak vs off-peak, throttle and connection-drop counts. Copy or Export the window to a CSV + JSON bundle - and there's a headless
NetSpeedTray.exe --export-csvfor scripted/automation use. -
⏯️ Live / Pause & a Windows 11 feel. Freeze a chart to read a moment, then resume. Native dark title bar and rounded corners, a Fluent tab strip, remembered size/position/last-tab, a default size that fits the whole Overview without scrolling, and full keyboard navigation (Tab to the cards and tabs, Enter/Space to drill in).
Utilization is always free. CPU, GPU, RAM, and VRAM usage read natively through Windows performance counters and psutil - no admin, no helper, all vendors. That part just works.
Temperatures and power are the nuanced bit. NetSpeedTray tries native sources first and only falls back to LibreHardwareMonitor (LHM) when it has to. Whether you need LHM depends on your hardware:
| Reading | Works natively (no helper, no admin) | Needs LHM (run as admin) for full coverage |
|---|---|---|
| CPU / GPU / RAM / VRAM usage % | ✅ always | - |
| GPU temperature | ✅ NVIDIA (via nvidia-smi) |
AMD & Intel discrete GPUs |
| GPU power | ✅ NVIDIA + Intel iGPU | AMD GPUs |
| CPU temperature | AMD Ryzen, and boards without usable zones | |
| CPU power | ✅ Intel (RAPL) | AMD CPUs |
In plain terms: on a typical NVIDIA + Intel PC you'll see most temps and power without installing anything. If you have an AMD CPU, accurate CPU temperature and power realistically need LHM. To enable it, install LibreHardwareMonitor, run it as Administrator, and NetSpeedTray detects it automatically - temps and power across all vendors light up.
NetSpeedTray itself never runs as admin and never ships a kernel driver. Reading CPU/GPU die temperatures requires a driver that Windows doesn't expose to normal apps; LHM provides that driver and publishes the values over WMI, which NetSpeedTray simply reads. Your choice, fully optional.
- Install with the Winget command above (or the installer).
- Right-click the widget - open Settings or the Monitor, Pause/Resume monitoring, or Exit. The top of the menu shows your data used today / this month at a glance.
- Double-click the widget to open the Monitor (history, per-app activity, hardware, statistics).
- Want temperatures? Most NVIDIA/Intel systems show them out of the box. For full coverage (or any AMD CPU), install and run LibreHardwareMonitor as Administrator.
How is this different from Task Manager? Task Manager shows network speed too - but you have to open it, and it disappears the moment you click away. NetSpeedTray lives permanently on your taskbar with sub-second updates, in the corner of your eye while you work.
Will it slow down my PC? Idle RAM is roughly 50-80 MB (Python + Qt overhead) and CPU is near zero between polls. The Monitor's Overview tab is deliberately chart-free, so glancing at it stays light; opening the Network or Hardware charts loads the plotting library once for the session. The widget polls every ~1 second using the same Windows APIs Task Manager uses.
Do I need LibreHardwareMonitor? Often no - see the hardware table above. Usage stats and NVIDIA/Intel temps & power work natively; LHM (run as admin) is the universal fallback and the realistic way to get AMD CPU temperature and power. The widget never asks for admin itself.
Can I set a data limit and get warned? Yes - Settings → Network → Data usage, or the tray's Data cap…. Set a monthly cap, a billing reset day, and opt-in 80% / 100% alerts. The alert is a quiet flyout above the widget; the tray shows live progress.
Does the latency check phone home? Only if you ask it to. The default target is your own gateway, which never leaves your LAN. Pinging a public host is a separate, explicit opt-in where you choose the host. Nothing else about your network is sent anywhere - there's no telemetry of any kind.
Where does it store data and settings?
%APPDATA%\NetSpeedTray\ - config.json for settings, speed_history.db (SQLite) for network/hardware history, and rotated logs. Everything stays local. Settings has an Export Support Bundle button that auto-redacts paths, IPs, hostnames, and MACs for clean bug reports.
Does it work on Windows 7 or 8? Officially Windows 10 and 11 (64-bit). The taskbar APIs changed enough after Win8 that older versions aren't tested. It might work; it's not supported.
SmartScreen says "unknown publisher" - is that a problem? You probably grabbed an unsigned dev build. The official releases (Setup.exe / Portable.zip) are signed by the SignPath Foundation and shouldn't trip SmartScreen.
📋 Full Feature List (click to expand)
- Live upload/download on the taskbar with sub-second updates
- Auto-primary mode - finds your main internet connection, ignoring VPNs and virtual adapters
- Interface filtering - all hardware, specific adapters, or include virtual interfaces
- Color coding - custom speed thresholds and colors to read load at a glance
- Per-app connections (in the Monitor) - live connection counts and remote hosts per program, no admin needed
- CPU & GPU utilization on the taskbar - always native (psutil + Windows PDH), all vendors, no admin
- RAM & VRAM usage (VRAM shows "N/A" instead of a fake 0 when no dedicated-VRAM counter exists)
- Temperatures - sourced in order: NVIDIA
nvidia-smi, ACPI thermal zones (PDH), LibreHardwareMonitor/OpenHardwareMonitor (WMI), legacy ACPI WMI - Power (Watts) - CPU (Intel RAPL → LHM) and GPU (NVIDIA → Intel iGPU RAPL → LHM); an opportunistic whole-system figure on laptops running on battery. Desktops can't read true wall power in software, so the Monitor honestly shows the CPU + GPU breakdown
- LibreHardwareMonitor auto-detection - if LHM/OHM is running as admin, it's picked up automatically for temps/power across all vendors
- Overview - at-a-glance tiles + adaptive sparklines, a network hero card, a context strip, a Data-usage card, and Top talkers
- Network - history graph + per-app connection list + per-NIC filter + detail panel
- Hardware - combined CPU+GPU graph (modes/smoothing/axis) + per-process CPU/RAM/GPU% + telemetry band
- Statistics & export - honest distributions (exact percentiles only where the data supports them), Copy/Export to CSV + JSON, and a headless
--export-csvCLI - Live / Pause, remembered window state, native Win11 chrome, full keyboard navigation
- 3-tier retention - raw (24h) → minute (30d) → hourly (up to "Keep everything"), for network and hardware
- Layout modes - Side-by-Side, Stacked, or Auto-Cycle (rotates Network / CPU / GPU); per-segment ordering
- Mini-graph overlay with adjustable opacity and gradient fill
- Arrow styles - Classic ↑↓, Solid ▲▼, Compact ▴▾, Outline △▽, Outline Compact ▵▿, Double ⇑⇓, or Custom
- Live settings preview - see the exact widget effect (font/color/arrows/layout/mode) before you commit
- Configurable click actions - reassign double-click / middle-click on the widget (Open Monitor, Settings, Pause/Resume, or nothing)
- Auto-theme for light/dark/mixed taskbars, font & precision control, fixed-width values to prevent jitter
- Units - Bits (Mbps), Bytes (MB/s), Binary (MiB/s), or Decimal, with toggleable suffixes
- Taskbar-docked - stays above the taskbar through the Start menu, flyovers, and the tray overflow
- Preferred monitor - pin to a specific display; free-move anywhere, including off-taskbar
- Survives sleep/resume, monitor add/remove/primary-swap, and Explorer restarts
- Vertical taskbar + high-DPI aware
- Keyboard-navigable Monitor - Tab to cards and tabs (accent focus ring), Enter/Space to activate, accessible names for screen readers
- Reduce motion - app-wide flag, and automatic respect for the Windows "Animation effects" setting
- Digitally signed by the SignPath Foundation - no SmartScreen warnings
- 100% open source (GPLv3) - no ads, no tracking, no telemetry · Privacy Policy
- PII obfuscation - logs auto-redact paths, IPs (incl. IPv6), MACs, hostnames, and interface GUIDs
- Latency boundary - off by default; gateway-only unless you explicitly opt in to a public host you name
- Verified updates - the in-app updater authenticates the installer (Windows
WinVerifyTrust+ a publisher pin) before running, with a GitHub fallback - Support Bundle - one-click sanitized zip of logs + config + system info for bug reports
- 10 languages: English, Korean, French, German, Russian, Spanish, Dutch, Polish, Slovenian, Japanese
- 100% key parity across all locales
NetSpeedTray is free, open source, and always will be - no ads, no telemetry, no "Pro" tier, no upsells, and no plans to ever monetize it. It's built and maintained by one person, in spare time, because I wanted it on my own taskbar and figured others might too.
I'm not doing this for the money - but I'd be lying if I said a little support doesn't help. If NetSpeedTray has earned a permanent spot on your taskbar, a one-time tip (or a few dollars a month) goes directly to the time it takes to fix bugs, ship features, and answer issues. When it's one person doing all of it, even the price of a coffee genuinely makes a difference.
No pressure, ever - the app is never paywalled and never will be. If money isn't an option, three free things help just as much:
- ⭐ Star the repo - one click, and it genuinely helps others find the project.
- 🐛 File a good bug report - use the template and attach a Support Bundle; it saves me real triage time.
- 🌍 Improve a translation - German and Spanish especially could use a native-speaker review. See TRANSLATORS.md.
NetSpeedTray's UI lives in 10 languages thanks to the people below. Each translation is real time and care - if you use NetSpeedTray in your language, please give them a star and a thank-you.
| Language | Locale | Translator |
|---|---|---|
| 🇰🇷 Korean | ko_KR |
@VenusGirl ❤ |
| 🇳🇱 Dutch | nl_NL |
@CMTriX |
| 🇷🇺 Russian | ru_RU |
@ZeoNish |
| 🇸🇮 Slovenian | sl_SI |
@anderlli0053 (Andrew Poženel) |
| 🇵🇱 Polish | pl_PL |
@FadeMind |
| 🇫🇷 French | fr_FR |
@logounet |
| 🇯🇵 Japanese | ja_JP |
@coolvitto |
| 🇩🇪 German | de_DE |
Maintainer - native-speaker review welcome |
| 🇪🇸 Spanish | es_ES |
Maintainer - native-speaker review welcome |
See TRANSLATORS.md for how translation works and how to contribute fixes or new languages. Even one-line phrasing corrections are valuable.
🛠️ Building from Source (click to expand)
- Python 3.11+
- Git
- (Optional) Inno Setup 6 for the Windows installer
- (Optional) UPX - auto-downloaded by the build script into
build/tools/if missing
# 1. Clone
git clone https://github.com/erez-c137/NetSpeedTray.git
cd NetSpeedTray
# 2. Virtual environment (PowerShell)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
# 3. Dependencies
pip install -r dev-requirements.txt
# 4. Run from source
python src/monitor.py
# 5. Run the tests
pytest -v
# 6. Build
.\build\build.bat # full signed installer + portable zip
.\build\build-exe-only.bat # exe only (faster iteration)Output lands in dist/. (Python 3.13+ pre-release? add --pre to the pip install if stable wheels aren't out yet.)
Issues and pull requests welcome. Use the bug report template for bugs and the feature request template for ideas. Even small things - a typo, a clearer error message, a translation polish - are very welcome.
Free Windows code signing for open source by SignPath.io, certificate by the SignPath Foundation.
Every release you download from this repo is signed end-to-end - no SmartScreen warnings, no "unknown publisher," and a verifiable chain that the binary hasn't been tampered with since it left CI. SignPath donates this to qualifying open-source projects, and NetSpeedTray couldn't ship signed builds without them.
- Translations by the community - see Translators above.
- Built on PyQt6, matplotlib, psutil, numpy, pywin32, LibreHardwareMonitor (when available), and Inno Setup.
NetSpeedTray is licensed under the GNU GPL v3.0.






