iPerf3-WebUI is a modern, lightweight, web-based frontend for iPerf3, built using Python 3 and Flask.
Run network speed tests easily from any device — macOS, Linux, Windows, or even Android phones (via Termux).
- Performance fixes (cpu utilization reduced)
- 🌐 Web-based GUI — Works in any browser
- ⚡ Lightweight & Fast — Built with Flask
- 🔥 Python 3 Only — No legacy Python 2.7 code
- 📈 Live Speedometer — Real-time results visualization
- 🔄 Upload/Download Modes — Easy switching
- 🌍 Cross-platform — Works on desktops, laptops, and mobile
- 🛠 Customizable — Streams, units (Kbits/Mbits/Gbits), target IP, Logos, themes
git clone https://github.com/yourusername/iperf3-webui.git
cd iperf3-webui
pip install -r requirements.txt
python3 app.py
By default, the app will be available at:
👉 http://localhost:5000
(You can change the port inside app.py
if needed.)
docker build -f Containerfile -t iperf3-webui:v1.3.0.4
docker run -it -p 5000:5000 -v ./env.yaml:/app/env.yaml iperf3-webui:v1.3.0.4
docker pull ghcr.io/maddydev-glitch/iperf3-webui:v1.3.0.4
📦 This pulls the latest pre-built image from: https://github.com/MaddyDev-glitch/iperf3-webui/pkgs/container/iperf3-webui
🎨 Customize the Theme Using env.yaml If you want to apply custom themes or settings, mount the env.yaml file into the container:
docker run -it -p 5000:5000 -v ./env.yaml:/app/env.yaml ghcr.io/maddydev-glitch/iperf3-webui:v1.3.0.4
Now access the Web UI at 👉 http://localhost:5000 from your browser.
- Python 3.6+ (Developed and Tested on Python 3.11.5)
- Flask
- iPerf3 installed on your machine, iPerf3.exe is packaged in the repo
On Linux, install iPerf3 via:
sudo apt install iperf3
- Enter the Target IP Address you want to test against.
- Choose between TCP or UDP.
- Select Upload or Download mode.
- Set streams and units if needed.
- Click Run iPerf3 and watch live results!
Easily change your app’s look by editing env.yaml—no code required.
Open env.yaml.
- Update values under logos and theme: for your colors, speedometer gradients, and logos.
- Save and reload the browser tab.
Despite iPerf3 being one of the most popular and trusted speed testing tools, there are no proper, modern GUIs available today. Most existing options are outdated, heavy, or tied to desktop platforms like Windows or Linux-only environments.
iPerf3-WebUI changes that — delivering a fast, lightweight, and fully web-based solution that runs anywhere Python 3 can: macOS, Linux, Windows, and even mobile (Termux on Android).
No messy installations, no clunky interfaces — just pure, streamlined performance testing from any device.
iPerf3-WebUI is a parser and wrapper around the official iperf3 client. It runs iperf3 as a background process, captures its command-line output in real time, and parses the results to present them in a modern, easy-to-use web interface.
Think of it as a lightweight bridge — combining the raw power of iperf3 with a clean, accessible UI for anyone to run network performance tests without touching the terminal.
No changes to iperf3 itself — just smarter, friendlier access to its results.
This project is licensed under the MIT License with attribution.
Feel free to use, modify, and distribute, but please give proper credit to the original author(s).
For more details, see the LICENSE file.
Developed with ☕ and ❤️ by MaddyDev-glitch (Srimadhaven Thirumurthy)
If you like this project, consider giving it a ⭐️ on GitHub!
Have an idea to make iPerf3-WebUI even better? Found a bug or missing feature?
Feel free to open an Issue for feature requests, bug reports, or suggestions.
Pull Requests (PRs) are very welcome! If you fix a bug, improve the UI, or add new functionality, submit a PR to dev branch — let's build it together!
When contributing, please make sure your code is clean, readable, and tested. Together, we can make the best modern UI for iPerf3!