A fast, free, open-source network bandwidth monitor for Windows. Live tray graph · per-adapter tracking · daily / weekly / monthly / yearly reports · no drivers, no packet capture.
Classic freeware traffic monitors such as RAS Graph & Stats did one job well: show what your connection is doing right now, and remember how much you used. Many of them are abandoned, closed-source, or no longer run properly on modern Windows.
ByteTide is a modern, open-source take on that idea:
- Lightweight. It reads the same interface counters Windows already exposes. No packet capture, no kernel driver, no Npcap.
- Private. Everything is stored locally in a single SQLite file. No account, no telemetry, no network calls (other than the optional email alerts you configure).
- Keeps your history. Imports old RAS Graph & Stats
.datarchives, so years of data sit side by side with new data. - Runs your way. A tray app for desktops, or a headless Windows Service for always-on machines.
Grab the latest ByteTide-win-x64.zip from the Releases page, extract it anywhere, and run ByteTide.exe.
Requirements: Windows 10 / 11 (x64). The release build is self-contained, so no separate .NET install is needed.
Closing the window just hides it to the system tray. Sampling and daily totals keep running. Use Exit from the tray icon to quit.
Live monitoring
- Real-time download/upload graph (filled-area or column style)
- Tray icon with three styles: live mini-graph, speed numbers, or classic dial-up monitors (several color sets)
- Hover tool-tip and an optional floating mini meter with readable speeds
- Full tray right-click menu with every option from the main window
- Status bar with link speed, uptime, clock, and session totals
- Watch one adapter (Ethernet, Wi-Fi, VPN…) or all combined
Reports
- Summary, Daily, Weekly, Monthly and Yearly tabs
- Sort by any column, filter by adapter
- Cumulative time online per period
- CSV export
Customisation
- Toggle title/IP overlay, scale and time labels, gridlines, average lines, max-rate text
- KB/s ↔ kbps switch
- Always-on-top, semi-transparent, and click-through (HUD) window modes
- Window position and all preferences are remembered
Tools
- Rates Recorder: log download/upload rates to a text or CSV file at a set interval
- Traffic Stopwatch: timed transfer test with total, max, min and average rate
- Usage Notifications: alert when usage crosses a threshold (e.g. "2 GB this month") by sound, beep, email (SMTP) or by running a program
Windows Service
- Headless background monitoring without a logged-in user
- Writes the same database schema as the GUI app
- Scheduled plain-text usage report
- Download and extract the release zip.
- Run
ByteTide.exe. A graph window opens and a tray icon appears. - Open Adapters to choose which network adapter to watch.
- Open Reports after a day of use to see your history.
Importing old RAS Graph & Stats history? See the Legacy Import guide.
| Guide | What's in it |
|---|---|
| User Guide | Every menu, option and tool explained |
| Windows Service | Install, configure, and remove the background service |
| Legacy Import | Bring over RAS Graph & Stats history |
| Architecture | How the code and database are organised |
| FAQ & Troubleshooting | Common questions and fixes |
| Changelog | What changed in each release |
Requires the .NET 8 SDK and Windows (WinForms and the network APIs are Windows-only).
git clone https://github.com/Sohails001/ByteTide.git
cd ByteTide
dotnet build ByteTide.sln
dotnet test tests/ByteTide.Tests/ByteTide.Tests.csproj
dotnet run --project src/ByteTide.AppOr open ByteTide.sln in Visual Studio 2022+.
To produce a single-file executable like the official releases:
dotnet publish src/ByteTide.App -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publishsrc/
ByteTide.Core/ Sampling, storage, legacy importer, rollups, notifications (no UI)
ByteTide.App/ WinForms tray app: graph, reports, tools, settings
ByteTide.Service/ Headless Windows Service
tests/
ByteTide.Tests/ xUnit tests
docs/ User and developer documentation
| Component | Location |
|---|---|
| GUI app | %AppData%\ByteTide\data.db |
| Service | %ProgramData%\ByteTide\data.db (or DataDbPath in its appsettings.json) |
It's a standard SQLite file; open it with any SQLite browser. Back it up by copying it.
- If the app or service restarts mid-day, that day's byte-counter baseline resets, so the rest of that day can be under-counted. Persisting baselines would fix this.
- SMTP passwords for email alerts are stored as plain text in the local settings table. Don't reuse a sensitive account's password.
- The GUI database path isn't configurable yet.
- Reports column headers don't show a ▲/▼ sort indicator yet.
- Memory use is typical for a .NET WinForms app (roughly 20 MB), higher than a tiny native Win32 tool.
These are good first contributions. See CONTRIBUTING.md.
Bug reports, feature ideas and pull requests are welcome. Please read CONTRIBUTING.md and the Code of Conduct first. Security issues: see SECURITY.md.
MIT © Sohail Sher Ali and ByteTide contributors. Free to use, modify and redistribute.
ByteTide is an independent project and is not affiliated with or endorsed by the authors of RAS Graph & Stats or any other product mentioned here. Product names are used only to describe compatibility.

