iPerf3 Server on iOS: a portable endpoint in your pocket

Need an iPerf3 server you can carry into the field? Run a fully compatible iPerf3 server on iOS in two taps. Pin a TCP or UDP port, accept connections from any standard iperf3 client, and stop the server cleanly when you're done. Works on iPhone, iPad, and Mac.

One-time purchase · No tracking · TCP/UDP · Client + Server

  • Server modeListen on-device
  • iOS 16.6+iPhone & iPad
  • TCP + UDPPick a port
  • No jailbreakApp Store native
  • 0Trackers

Who this is for

  • Site engineers running quick LAN benchmarks on customer premises
  • Lab admins who don't want to provision a Linux box for every test
  • Developers testing mobile apps against a known iPerf3 endpoint
  • ISPs and installers verifying customer-side bandwidth

What you can test

  • Inbound TCP throughput from laptops, routers, or set-top boxes
  • Inbound UDP streams with jitter and packet loss reporting
  • Multi-stream parallel sessions (-P) from any compatible client
  • Reverse-direction tests (-R) when the client requests them

How it works

  1. Install the app and grant Local Network access

    iOS prompts the first time the server tries to listen. Without this permission incoming connections are blocked.

  2. Open Server mode

    Pick a port (default 5201) and choose TCP or UDP. The default port matches the iperf3 reference binary.

  3. Tap Start

    The app shows the listening IP, port, and connection status. Share the IP with the operator running the iperf3 client.

  4. Run the client

    From any iPerf3 client on the same LAN run `iperf3 -c <iphone-ip> -p 5201` (add `-u -b 100M` for UDP).

  5. Stop the server cleanly

    One tap stops the listener and frees the port. No orphan sockets, no force-kill needed.

More than a command line

iPerf3 is a free open-source CLI. This app is the native workflow built on top of it, for the places and tasks a terminal can't cover.

Plain iperf3 CLI
iPerf3 Client & Server
Text-only output scrolling past
Live speedometer and a zoomable throughput chart
Results vanish when you close the window
Every test saved in searchable history, grouped by date
Retype the server address on every run
Saved server profiles: pick host and port in one tap
Manual parsing to get a report
One-tap CSV / JSON export
No iperf3 on iPhone or iPad at all
Native client and server on iPhone, iPad, Mac, Vision and Android
Shell scripting only
Apple Shortcuts and x-callback-url automation
English, terminal only
14 languages, guided error fixes, zero data collection

The underlying iperf3 engine is open source. This app adds the interface, history, charts, and automation around it.

When a portable iPerf3 server endpoint is useful

A portable iPerf3 server saves real time during site survey work. You're at a customer location with no VPN tunnel, no spare Linux box, and the customer's IT desk wants proof that throughput across the new switch reaches 1 Gb/s. Pulling out an iPhone, starting a server on port 5201, and asking the customer engineer to run `iperf3 -c` from a workstation takes under a minute. The same flow works for bridged-mode access points, dual-NIC laptops, and any situation where both ends of the test sit inside the same LAN: no NAT traversal, no firewall rules to negotiate, no infrastructure to spin up.

Setting up the server mode safely on iOS

iOS requires Local Network privacy permission before an app can listen for inbound connections. Grant it on first launch. Without it, server mode silently fails to accept clients. Pick a port above 1024 to avoid conflicts with system services; 5201 is the iperf3 default and is rarely taken. If you switch between Wi-Fi and USB tethering during testing, restart the server so it rebinds to the new interface. Multiple listeners on the same port are not allowed; if Server mode reports 'address in use', another process or another iPerf3 instance is already bound.

UDP server tuning notes

UDP iPerf3 tests require the client to specify bandwidth via `-b`. The server reports per-second throughput plus jitter and packet loss; client-side numbers are 'sent' values, server-side numbers are 'received' values, and the gap between them is the network's loss budget. Watch out for 'no datagrams received' messages on the server side: that usually means a firewall between client and server is dropping UDP. For 1 Gb/s or higher links, set `-b 1G` on the client and review the server's jitter line: anything above 5 ms on a wired LAN suggests congestion or buffer issues rather than the server itself.

Loved by network pros

Real 5-star reviews from the App Store, Mac App Store, and Google Play.

  • I use it on iPhone, iPad and Mac to test real network speed over Ethernet (1 Gb and 2.5 Gb) and Wi-Fi 7. Really useful tool. Very satisfied with the interface and features. Highly recommend it.
    Andrey Mazurov App Store
  • The app is beautifully crafted and has a lot of functionality. Results are precise and you can tweak the tests. Very good!
    dawvik App Store
  • Works great. Can be used both as a client and as a server, in advanced mode and to view graphs.
    TanyaBelousova App Store
  • Able to move from site to site and test from different environments. The developer responded quickly and I was able to update and get it working asap!
    Mikey.Joel Mac App Store
  • Works great, very nicely done app! You deserve a beer!
    Elijah Pearson Google Play
  • Vladimir has done a perfect job on both the Android and macOS versions. My life has become so much easier. Forever grateful!
    Michael Acosta Google Play

Frequently asked questions

It's a native iOS/macOS client and server compatible with the iPerf3 protocol, built independently. Test results are wire-compatible with the standard iperf3 binary.

No. We don't track users. Crash reports are processed by Sentry without personal identifiers, and test results stay on your device unless you export them.

Use TCP for raw throughput and reliability. Use UDP to measure jitter, packet loss, and bufferbloat, typical for Wi-Fi or VPN diagnostics.

Yes. The app includes server mode on iOS, iPadOS, and macOS. You can pin a port, accept connections from any iPerf3 client, and stop the server with one tap.

Yes. When the app holds Local Network permission, iOS allows incoming connections on any port not reserved by the system. We recommend ports above 1024 such as the iPerf3 default 5201.

Short tests work, but iOS suspends background networking aggressively. For multi-minute server sessions keep the app foregrounded and disable auto-lock under iOS Settings → Display & Brightness.

Ready to test your network?

Run iPerf3 client and server tests from your iPhone, iPad, or Mac. No account, no tracking, one-time purchase.