Install speedtest-cli on Ubuntu

How to check Internet speed in Ubuntu using speedtest-cli. The speedtest-cli on Ubuntu is a method to check Internet speed in Ubuntu using comamnd line. The speedtest-cli is a command line interface for testing Internet bandwidth using Speedtest-cli is a script written in the Python programming language which measures the Internet speed bidirectionally. This application allows you to check your Internet speed upon distance in km, it can test against specific servers and it also provides a URL so that you can share your result on the Internet.

Run the following commands to install speedtest-cli on Ubuntu 16.10, Ubuntu 16.04, Ubuntu 15.10, Ubuntu 15.04, Ubuntu 14.10 and Ubuntu 14.04 Systems:

sudo apt-get update
sudo apt-get install python-pip
sudo pip install speedtest-cli

Once installed, you can use it via Terminal commands.

The speedtest-cli command can be used to check the Internet speed on Ubuntu Linux Systems. The command has the following format:

speedtest-cli [-h] [–bytes] [–share] [–simple] [–csv] [–csv-delimiter CSV_DELIMITER] [–csv-header] [–json] [–list] [–server SERVER] [–mini MINI] [–source SOURCE] [–timeout TIMEOUT] [–secure] [–version] 

The easiest way to use the command is without any argument:

$ speedtest-cli

The command shows the download speed and upload speed in Mbit/s. If you wish to get the speed results in bytes, run:

$ speedtest-cli –bytes

Whereas the command when used with –simple argument, displays only the basic information like ping, download and upload speed.

$ speedtest-cli –simple

You can also share the speed results as image using the command speedtest-cli –share.

speedtest-cli optional arguments

There are many command options for speedtest-cli:

  • -h, –help show this help message and exit
  • –bytes Display values in bytes instead of bits. Does not affect the image generated by –share, nor output from–json or –csv
  • –share Generate and provide a URL to the share results image
  • –simple Suppress verbose output, only show basic information
  • –csv Suppress verbose output, only show basic information in CSV format. Speeds listed in bit/s and not affected by –bytes
  • –csv-delimiter CSV_DELIMITER Single character delimiter to use in CSV output. Default “,”
  • –csv-header Print CSV headers
  • –json Suppress verbose output, only show basic information in JSON format. Speeds listed in bit/s and not
    affected by –bytes
  • –list Display a list of servers sorted by distance
  • –server SERVER Specify a server ID to test against
  • –mini MINI URL of the Speedtest Mini server
  • –source SOURCE Source IP address to bind to
  • –timeout TIMEOUT HTTP timeout in seconds. Default 10
  • –secure Use HTTPS instead of HTTP when communicating with operated servers
  • –version Show the version number and exit

Please note:

There is the potential for this tool to report results inconsistent with There are several concepts to be aware of that factor into the potential inconsistency:

  • has migrated to using pure socket tests instead of HTTP based tests
  • This application is written in Python
  • Different versions of Python will execute certain parts of the code faster than others
  • CPU and Memory capacity and speed will play a large part in inconsistency between and even other machines on the same network

More info: