iperf3 is a network bandwidth measurement tool that measures maximum achievable throughput over TCP, UDP, and SCTP connections.
The tool performs active network measurement by establishing connections between a client and server, tuning protocol parameters, and reporting throughput, bitrate, packet loss, and other performance metrics. It was redesigned from scratch to provide a smaller, simpler codebase than the original iperf, with a library interface that allows its functionality to be embedded in other programs. The implementation includes features borrowed from tools like nuttcp and netperf, such as zero-copy mode using sendfile() and optional JSON output. By default it measures performance under typical well-designed application conditions, though it offers flags for extreme best-case optimizations when explicitly enabled.
The tool suits network operators, researchers, and system administrators who need to verify network capacity and diagnose performance issues. It is widely used as a standalone utility by research and education networks, and serves as a core component of the perfSONAR network measurement system. The tool is officially supported on Ubuntu Linux, FreeBSD, and macOS, with reported success on OpenBSD, NetBSD, Android, Solaris, and other Linux distributions. Note that iperf3 is not backwards compatible with the original iperf implementation.
Development is centered at ESnet and Lawrence Berkeley National Laboratory. The project maintains an active issue tracker and discussion forums on GitHub for community engagement. The codebase is written in C with no external build prerequisites beyond standard development tools, using a conventional autoconf-based build process.