How to Run Speed Test from the Command Line to Check Internet Connection Speed

Jul 31, 2013 - 12 Comments

The excellent curl and wget tools provide for a simple way to test the speed of an internet connection directly from the command line. Curl is bundled with most unix variations, but Mac users who want to use the wget trick will first need to grab wget for OS X in order for this to work, wget is a simple terminal utility used to download files from the web and ftp and it’s handy to have around for a variety of uses making it worthwhile to have anyway. Curl should be preinstalled on every unix flavor that is even vaguely modern, including all versions of Mac OS X and linux.

Speed test from the Command Line

Test Internet Connection Speed from the Command Line

This is a fairly simple trick to check download speeds using the official SpeedTest servers, making it a quick and effect means to check an active internet connection. There are two ways to use this, one utilizing curl, the other uses wget.

Run SpeedTest with curl from the Command Line to Determine Internet Connection Download Speeds

The first trick is to use curl, which is able to download remote files from just about anywhere, retrieve headers, and perform tons of other nifty actions. Curl is bundled with every version of Unix and OS X ever made which makes this a nearly universal command to test download speeds on just about any unix-based computer:

curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip

The download speed will show as well as elapsed time to complete the download. Here is what this looks like running in a terminal:

Run speed test at the command line with curl

The “Test10.zip” file is being sent to /dev/null so don’t worry about taking up disk space with a useless test file.

Speed test from the command line

If you think you’ll use the curl trick often, consider adding it to your profile as an alias:

alias speedtest='curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip'

Thanks to one of our commenters for this great curl trick.

You’ll probably notice the command itself is quite similar to the wget command string to perform a similar action, so it’s really a matter of preference.

Testing Connection Speed from the Command Line with wget

If you’re already familiar with the command line you know what to do, but others can install wget, then launch Terminal (found in /Applications/Utilities/) and paste the following command string into the terminal:

wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip

Look to the righthand side of wget as it runs and you’ll see the connection speed (1.36m/s in the screen shot example). Because wget is pointing the downloaded file at /dev/null it won’t actually take up any hard drive space, so there is no concern about running this command repeatedly.

This uses the same SpeedTest servers that are available to mobile users through the Speed Test app, it can make for a decent way to directly compare connection speeds on a broadband connection vs cellular, without having to access the SpeedTest Flash-based web apps, and without having to compile any additional command line software.

Plan on using this trick often? Consider adding a simple alias to .bash_profile:

alias speedtest='wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip'

Using an alias is obviously shorter and easier to remember, making it a bit more useful for scripts, automation, remote testing, and just for those of us who like to poke around in the Terminal.

This trick comes to us from @climagic on Twitter, be sure to follow @osxdaily there too if you haven’t done so yet.

.

Related articles:

Posted by: Paul Horowitz in Command Line, Mac OS, Tips & Tricks

12 Comments

» Comments RSS Feed

  1. Thul Dai says:

    Is there also a way to test *upload* speed (like speedtest.net does)?

    Seems less obvious to me as one would need a server to upload something to, but I’d love to be corrected.

  2. Anton van Oosten says:

    Add “> textfile.txt” to the command. Strip the quotes ;-).

  3. Jay says:

    Any suggestions on how I might log the output to a text file?

  4. AnukAsar says:

    Do I have to use the speedtest URL to check the speed or is it the actual wget -o /dev/null command that checks the speed?

  5. anonymous says:

    You can also try http://dl.getipaddr.net

    They use curl (which is a well known command line utility) to run a speed test.

    The code is published on GitHub as well. In short,

    wget https://raw.github.com/blackdotsh/curl-speedtest/master/speedtest.sh && chmod u+x speedtest.sh && bash speedtest.sh

  6. MathU says:

    For me it gives:

    -bash: wget: command not found

    Why?

  7. linuxishawt says:

    You don’t need to install any extra binaries for this to work, you can use the builtin curl with the lowercase ‘o’ to mimic the command.

    curl -o /dev/null

Leave a Reply

 

Shop on Amazon.com and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks

News

iPhone / iPad

Mac

Troubleshooting

Shop on Amazon to help support this site