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

  • iOS 16.6+Native build
  • macOS 13.5+Mac Catalyst
  • TCP + UDPBoth protocols
  • 0Trackers
  • 14Languages

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.

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.

Screenshots

  • iPerf3 server mode on iOS listening on port 5201 with active connection count
  • iPerf3 iOS server status panel showing inbound TCP throughput in real time
  • iPerf3 server mode on iOS with port and protocol selection
  • iPerf3 iOS server connection history with per-client UDP jitter and loss

Frequently asked questions

Is this the official iPerf3 app?
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.
Does the app collect my data?
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.
TCP or UDP — which one should I run?
Use TCP for raw throughput and reliability. Use UDP to measure jitter, packet loss, and bufferbloat — typical for Wi-Fi or VPN diagnostics.
Can I run a server on iPhone?
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.
Does iOS allow incoming TCP/UDP connections to an app?
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.
Can I keep the server running while the screen is locked?
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.