- What iperf3 actually tests
- Before you start
- Download and prepare iperf3 on Windows
- Find the server computer IP address
- Allow iperf3 through Windows Firewall
- Start iperf3 server mode
- Run a TCP LAN speed test
- Test the opposite direction
- Run a UDP jitter and packet loss test
- Test Wi-Fi and Ethernet correctly
- How to read iperf3 results
- Troubleshooting iperf3 errors
- FAQ
What Does iperf3 Test on a Local Windows Network?
iperf3 is a command-line network performance tool. It does not copy real files between computers; instead, it creates controlled traffic between one PC running as the server and another PC running as the client. This lets you measure the maximum practical throughput of your local network without being limited by a slow SSD, hard drive, SMB configuration, antivirus scanning, or file permissions.
iperf3.exe -s and listens for test connections.iperf3.exe -c and starts the measurement.Before You Start Testing LAN Speed with iperf3
For a clean test, connect both computers to the same local network and temporarily reduce background traffic. If possible, run the first test over Ethernet, then compare it with Wi-Fi.
- Two Windows computers connected to the same router, switch, or access point.
- The same
iperf3build copied to both PCs. - Administrator access if you need to create a firewall rule.
- The IP address of the computer that will run server mode.
- No VPN, proxy, virtual adapter, or heavy download running during the test unless you intentionally want to test that path.
Good test conditions
- Both PCs are on the same subnet, for example
192.168.1.x. - Ethernet cable link speed is checked in Windows.
- Wi-Fi tests are repeated in the same room and at normal working distance.
- Each test is run for at least 30 seconds.
Bad test conditions
- One PC is connected through a VPN and the other is local.
- One computer is using 2.4 GHz Wi-Fi while the other is wired.
- Cloud sync, game downloads, or video streaming are active.
- The Windows firewall blocks port 5201.
Download and Prepare iperf3 on Windows 10 or Windows 11
Download a Windows build of iperf3, extract it to a simple folder, and use the same version on both computers. A practical folder is C:\Tools\iperf3. Keeping the path short makes command-line work easier and avoids quoting problems.
Where to download iperf3 for Windows
The main iperf3 project is maintained by ESnet / Lawrence Berkeley National Laboratory. For Windows, there are two practical download paths: use the official ESnet project pages for source code and documentation, or use a reputable Windows binary source if you do not want to compile the program yourself.
ESnet iperf3 source and documentation
Use this as the primary reference for the current iperf3 project, releases, documentation, command syntax, and source code.
Open ESnet iperf3Precompiled iperf3 builds for Windows
If you need a ready-to-run iperf3.exe, use a well-known Windows binary source and verify that both PCs use the same version.
Chocolatey package option
Advanced users can install iperf3 through a Windows package manager, then run it from Terminal without manually copying files.
Open Chocolatey packageiperf3.exe archive, extract it on both computers, and confirm the version with iperf3.exe --version.
- Create a folder such as
C:\Tools\iperf3on both computers. - Extract the downloaded archive into that folder.
- Open Command Prompt, PowerShell, or Windows Terminal.
- Switch to the iperf3 folder and check that the executable starts.
Command Prompt or PowerShellcd C:\Tools\iperf3
.\iperf3.exe --version
If Windows says the file is blocked, right-click the executable, open Properties, check Unblock if available, and apply the change.
Find the IP Address of the Windows PC That Will Run iperf3 Server
Choose one computer as the server. On that PC, find its local IPv4 address. You will use this address from the second computer when starting the client test.
On the server computeripconfig
Look for your active adapter, such as Ethernet adapter or Wireless LAN adapter Wi-Fi, and note the value next to IPv4 Address. It usually looks like 192.168.1.10, 192.168.0.25, or 10.0.0.15.
| Value | Example | What it means |
|---|---|---|
| IPv4 Address | 192.168.1.10 | Address of this PC inside your local network. |
| Subnet Mask | 255.255.255.0 | Computers with similar addresses are usually on the same local subnet. |
| Default Gateway | 192.168.1.1 | Your router or gateway address. |
Allow iperf3 Through Windows Defender Firewall
By default, iperf3 server mode listens on port 5201. When you start the server for the first time, Windows may show a firewall prompt. Allow access on Private networks only, not public networks.
If the prompt does not appear or the test fails with a connection error, create a rule manually from an elevated PowerShell window on the server computer:
Run as Administrator on the server PCNew-NetFirewallRule -DisplayName "iperf3 TCP 5201" -Direction Inbound -Program "C:\Tools\iperf3\iperf3.exe" -Action Allow -Profile Private
If you use a custom port, adjust the rule name and test command accordingly. For most home and office LAN checks, the default port 5201 is fine.
Start iperf3 Server Mode on the First Windows Computer
On the first computer, open a terminal in the iperf3 folder and start server mode. Leave this window open while you run tests from the second computer.
On Computer A â servercd C:\Tools\iperf3
.\iperf3.exe -s
You should see a message indicating that the server is listening. If the server starts correctly, move to the second computer and run the client command.
iperf3.exe -s -p 5002. The client must then use the same port with -p 5002.
Run a TCP Speed Test Between Two Windows PCs
On the second computer, run iperf3 in client mode. Replace 192.168.1.10 with the real IPv4 address of the server computer.
On Computer B â clientcd C:\Tools\iperf3
.\iperf3.exe -c 192.168.1.10 -t 30
This runs a 30-second TCP test from the client to the server. For fast networks, especially 1 Gbps, 2.5 Gbps, or Wi-Fi 6/6E links, you can test multiple parallel streams:
TCP test with 4 parallel streams.\iperf3.exe -c 192.168.1.10 -t 30 -P 4
Parallel streams can help reveal the maximum available throughput, but they are not the same as a single real file transfer. Record both results: one stream and several streams.
| Command option | Example | Purpose |
|---|---|---|
-c |
-c 192.168.1.10 | Connect to the iperf3 server. |
-t |
-t 30 | Run the test for 30 seconds. |
-P |
-P 4 | Use several parallel streams. |
-f |
-f m | Show results in Mbits/sec. |
Test Download Speed and the Opposite LAN Direction with iperf3
The normal client command sends traffic from the client to the server. To test the opposite direction, add -R. This is useful because Wi-Fi, drivers, cables, switches, and security software can behave differently depending on direction.
Reverse direction test.\iperf3.exe -c 192.168.1.10 -t 30 -P 4 -R
Compare the forward and reverse numbers. A big difference usually points to an asymmetric Wi-Fi link, driver problem, energy-saving network adapter setting, duplex issue, or one weak computer.
Run a UDP Test to Check Jitter and Packet Loss on Your LAN
UDP testing is useful for checking packet loss and jitter, especially for gaming, VoIP, video calls, streaming, and Wi-Fi stability. Unlike TCP, UDP does not automatically slow down and retransmit in the same way, so you must choose a target bitrate.
UDP test at 100 Mbit/s.\iperf3.exe -c 192.168.1.10 -u -b 100M -t 30
Start with a conservative value such as 50M or 100M, then increase it gradually. If packet loss appears, the chosen bitrate may be too high for the current link, or the network may be unstable.
How to Test Wi-Fi and Ethernet Correctly with iperf3
To understand where the bottleneck is, test in stages. Do not start with two Wi-Fi computers, because that mixes two wireless links and makes the result harder to interpret.
Wired baseline
Connect both computers by Ethernet through the same switch or router. This gives you the cleanest baseline for the local network.
Best baselineOne wired, one Wi-Fi
Keep the server wired and test from a Wi-Fi client. This measures the wireless client link more clearly.
Best Wi-Fi checkBoth computers on Wi-Fi
Use this only after the first two tests. The result includes airtime contention and performance of both wireless adapters.
Real-world testFor Wi-Fi, repeat the test at least three times: near the router, in the normal working location, and behind walls or furniture if that is where the PC is usually used.
How to Interpret iperf3 LAN Speed Test Results
The most important number is bits/sec, usually displayed as Mbits/sec or Gbits/sec. Do not confuse bits with bytes: file managers often show MB/s, while iperf3 usually shows Mbits/sec.
| Observed result | Possible meaning | What to check next |
|---|---|---|
| 900â950 Mbits/sec on 1 Gbps Ethernet | Normal result for a good wired gigabit link. | No network problem is likely. |
| Around 90â95 Mbits/sec | One link may be negotiating at 100 Mbps. | Cable category, switch port, adapter speed, damaged connector. |
| Good TCP, poor file copy | Network path is probably fine. | Disk speed, SMB, antivirus, folder permissions, CPU usage. |
| High UDP packet loss | Bitrate is too high or link quality is poor. | Wi-Fi signal, interference, router load, driver updates. |
| Forward fast, reverse slow | Asymmetric problem between adapters or Wi-Fi directions. | Drivers, power saving, signal quality, router firmware. |
For a saved machine-readable result, use JSON output:
Save iperf3 result as JSON.\iperf3.exe -c 192.168.1.10 -t 30 -P 4 -J > lan-test-result.json
Troubleshooting Common iperf3 Errors on Windows
Connection refused
This usually means the server is not running, the wrong IP address was used, or iperf3 is listening on a different port.
Check the server again.\iperf3.exe -s
Connection timed out
The most common causes are Windows Defender Firewall, third-party firewall software, wrong network profile, VPN routing, or computers being on different subnets.
Basic connectivity check from the clientping 192.168.1.10
Very low speed on Ethernet
Check the negotiated link speed in Windows. Open Settings â Network & Internet â your adapter â hardware properties, or use PowerShell:
Check adapter link speedGet-NetAdapter | Select-Object Name, Status, LinkSpeed
Wi-Fi result changes every run
This is normal to a degree. Wi-Fi performance changes with signal quality, channel congestion, distance, roaming behavior, power saving, Bluetooth interference, and other clients sharing the same access point.
iperf3 works only when firewall is disabled
Do not leave the firewall disabled. Create a targeted inbound rule for iperf3.exe on the Private profile, then turn the firewall back on.
FAQ: Testing a Local Windows Network with iperf3
Q Is iperf3 better than copying a large file over the network? â
Q Which computer should be the iperf3 server? â
-R.Q What port does iperf3 use by default? â
-p, you must use the same port on the client.Q Should I use TCP or UDP for LAN testing? â
TCP first to estimate practical throughput. Use UDP when you specifically need to check jitter and packet loss for real-time traffic such as calls, games, or streaming.Q Why is my 1 Gbps network not showing exactly 1000 Mbits/sec? â
Bottom line
To test a local network between two Windows computers with iperf3, run iperf3.exe -s on one PC, run iperf3.exe -c SERVER_IP -t 30 on the other PC, then repeat with -R, -P 4, and a controlled UDP test if needed. Compare wired and wireless results separately so you can identify whether the bottleneck is the cable, switch, router, Wi-Fi, firewall, driver, or file-sharing layer.