A lightweight, real-time network bandwidth overlay for Windows — sits quietly next to your system tray clock.
Bandwidth Monitor is a zero-dependency Windows desktop widget that displays live download and upload speeds as a compact, semi-transparent overlay. It positions itself next to the system tray clock, stays out of the way during fullscreen apps, and logs your usage history automatically.
Built on .NET Framework 4.8 — no runtime installation required on Windows 10/11.
- Real-time speeds — polls every 4 seconds with smooth odometer-style animation
- System tray positioning — auto-anchors next to the clock, respects DPI scaling
- Fullscreen awareness — hides when a fullscreen game or app is active
- 24-hour stats — hover tooltip shows total download/upload over the last 24 hours
- Bandwidth logging — minute-by-minute CSV log with 7-day rolling history
- Network interface selection — auto-detects active adapter or pick one manually
- Fully customizable — font, colors, units (MB/s or Mbps), icons, layout, and spacing
- Single-instance — mutex-guarded so it won't launch twice
- Portable-friendly — settings and logs stored in
%APPDATA%\Bandwidth Monitor\
The widget appears as a small overlay next to the Windows taskbar clock, showing live ↓ download and ↑ upload speeds.
- Download
BandwidthMonitorSetup.exefrom Releases - Run the installer — no admin rights required
- Optionally enable Start automatically with Windows during setup
Requirements: Windows 10/11, .NET SDK or .NET Framework 4.8
# Clone and build
git clone https://github.com/YOUR_USERNAME/BandwidthMonitor.git
cd BandwidthMonitor
powershell -ExecutionPolicy Bypass -File build.ps1Output:
- Executable:
bin\Release\net48\BandwidthMonitor.exe - Installer (requires Inno Setup 6):
installer_output\BandwidthMonitorSetup.exe
Manual build without .NET SDK
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe `
/target:winexe /optimize `
/out:BandwidthMonitor.exe `
/win32icon:app.ico `
/reference:System.Windows.Forms.dll `
/reference:System.Net.NetworkInformation.dll `
BandwidthMonitor.cs| Action | Result |
|---|---|
| Hover over widget | Tooltip with 24-hour totals and active interface |
| Right-click | Context menu: interface selection, settings, data folder, exit |
Right-click → Settings to customize:
- Font family, size, bold
- Download / upload / label colors
- Speed units:
MB/s(bytes) orMbps(bits) - Icons:
↓↑or alternative symbols - Text alignment and icon placement
- Margins and padding
| File | Location |
|---|---|
settings.ini |
%APPDATA%\Bandwidth Monitor\ or install directory |
bandwidth_log.csv |
Same as above — columns: Timestamp, DownloadBytes, UploadBytes |
Right-click → Open Data Folder to access these files directly.
| OS | Windows 10 or Windows 11 |
| Runtime | .NET Framework 4.8 (pre-installed on Windows 10 1903+ and Windows 11) |
| Permissions | Standard user — no admin required |
BandwidthMonitor/
├── BandwidthMonitor.cs # Entire application (~1000 lines)
├── BandwidthMonitor.csproj # .NET Framework 4.8 project file
├── build.ps1 # PowerShell build + installer script
├── setup.iss # Inno Setup installer definition
├── app.manifest # DPI awareness & OS compatibility manifest
├── app.ico # Application icon
└── .github/workflows/
└── build.yml # GitHub Actions: build on tag push
See LICENSE for details.