You are here: Duckware » SpeedTest
SpeedTest - Mbps throughput speed test
Works on ANY platform supporting Java

Download/Extract: Download, extract all files contained within this ZIP into a temp folder (eg: C:\speedtest), and get started by reviewing the "readme.txt" file, and by reading below.
If your computer does not have Java installed, visit Java Downloads ( and install Java.

Requirements: There must be a Java VM installed (see for help) in order to run the "speedtest.jar" Java 'executable' file contained within the download ZIP. To test if your computer has a Java VM installed, run the "java -version" command (valid output means yes, unrecognized command means no).

First, run a 'Server': Type "java -jar speedtest.jar server" on any computer to run the SpeedTest 'server', and you will see output similar to the following. The server is now ready to accept speed test connections from 'clients':
C:\speedtest> java -jar speedtest.jar server
Running SpeedTest SERVER on J4/ port 33333.
Waiting for clients to connect...

NOTE: If running a computer with a firewall, make sure that 'java.exe' is allowed to accept incoming socket connections (from client computers in the next step).
Next, run a 'Client': Type "java -jar speedtest.jar server-ip-address" on another computer to connect to the server (use the server's ip address) and download/upload Mbps speed test results are displayed:
C:\client> java -jar speedtest.jar
Downloading from port 33333...
  738,694,464 bytes in 1000 ms = 5,909,555,712 bps
  726,603,040 bytes in 1000 ms = 5,812,824,320 bps
  727,211,072 bytes in 1000 ms = 5,817,688,576 bps
  733,659,104 bytes in 1000 ms = 5,869,272,832 bps
  741,942,144 bytes in 1000 ms = 5,935,537,152 bps
Uploading to port 33333...
  760,922,144 bytes in 1000 ms = 6,087,377,152 bps
  757,805,536 bytes in 1000 ms = 6,062,444,288 bps
  746,471,424 bytes in 1000 ms = 5,971,771,392 bps
  755,213,216 bytes in 1000 ms = 6,041,705,728 bps
  747,978,752 bytes in 1000 ms = 5,983,830,016 bps

TIPS: As a test, also run the client on the server, to the server (itself) in order to verify that the PC is powerful enough to run the speed test (expect Gbps results). You should see around 949 Mbps when testing between two computers on a 1 Gbps Ethernet LAN.
Testing Wi-Fi: If your goal is to test Wi-Fi speeds, run the 'server' on a PC connected to your Ethernet LAN, and run a 'client' on the PC with the Wi-Fi you want tested. You only want ONE of the PC's on Wi-Fi (not both).

Donate: If you find this program helpful, please support it with a donation.

An Example: Here is an example of the SpeedTest program catching a speed problem with a laptop operating on the 2.4 GHz Wi-Fi band:
Downloading from port 33333...
  3,377,440 bytes in 1018 ms = 26,541,768 bps
  3,247,680 bytes in 1001 ms = 25,955,484 bps
  3,444,288 bytes in 1004 ms = 27,444,525 bps
  3,593,568 bytes in 1012 ms = 28,407,652 bps
  3,378,752 bytes in 1016 ms = 26,604,346 bps
Uploading to port 33333...
  5,756,256 bytes in 1001 ms = 46,004,043 bps
  5,840,000 bytes in 1009 ms = 46,303,270 bps
  5,708,928 bytes in 1005 ms = 45,444,202 bps
  5,971,072 bytes in 1006 ms = 47,483,673 bps
  5,923,744 bytes in 1007 ms = 47,060,528 bps
In this case, the MCS Spy tool showed that asymmetric MCS indexes / PHY speeds were being used, which explains the slower speeds.
This document is Copyright © 2020-2024 Jerry Jongerius