Skip to content
Related Articles

Related Articles

Improve Article
Test Internet Speed using Python
  • Difficulty Level : Medium
  • Last Updated : 19 Feb, 2020

Prerequisites: Python Programming Language

Python is a high-level widely used general-purpose language. Python can be used for many tasks such as web development, machine learning, Gui applications. It can also be used for testing Internet speed. Python provides various libraries for doing the same. One such library is speedtest-cli. This library is a command-line interface for testing internet bandwidth using


This module does not come built-in with Python. To install it type the below command in the terminal.

pip install speedtest-cli

After installing the above package one can check if the package is installed correctly or not by doing the version check. The version of the package can be checked using the following command

speedtest-cli --version

Checking seedtest-cli version

Speedtest-cli Package

Speedtest-cli is a module that is used in the command-line interface for testing internet bandwidth using To get the speed in the megabits type the below command in the terminal.



The above command gives the speed test result is in Megabits. To get the result in Bytes we can use the following command.

speedtest-cli --bytes


The pictorial version of your speed test result can also be retrieved using this module. To do the same type the below command in the terminal.

speedtest-cli --share

pictoral version of internet speed

It returns a link on which we can visit on our browser and see the graphical representation of various kinds of our internet speed.

pictoral version of internet speed

To print a simpler version of the speed test result containing only Ping, Download & Upload results instead of detailed output.

speedtest-cli --simple

simple result of internet speed

Using Python script to check the internet speed

# Python program to test
# internet speed
import speedtest  
st = speedtest.Speedtest()
option = int(input('''What speed do you want to test:  
1) Download Speed  
2) Upload Speed  
3) Ping 
Your Choice: '''))
if option == 1:  
elif option == 2
elif option == 3:  
    servernames =[]  
    print("Please enter the correct choice !"



To get the list of all the available options, type the below command in the terminal.

  • speedtest-cli -h

    speedtest-cli --h

  • speedtest-cli --help

    speedtest-cli --help

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up