Back to SpeedMeter.dev

SpeedMeter CLI

Test your internet speed from the command line. Available for Windows, Linux, and macOS.

Download

Choose your platform and download the binary. No installation required - just run it.

Windows

64-bit executable

Download .exe
Linux

64-bit binary

Download
macOS

64-bit binary

Download

Install via npm

If you have Node.js installed, you can install SpeedMeter CLI globally via npm.

npm install -g @speedmeter/cli
Run without installing
npx @speedmeter/cli

Usage

Run the speed test with a single command.

Basic Usage
speedmeter
JSON Output (for scripts)
speedmeter --json
Custom Server
speedmeter --server eu.speedmeter.dev

Command Options

Option Alias Description
--help -h Show help message
--version -v Show version number
--json -j Output results as JSON
--simple -s Simple output without progress
--server <url> -S Use custom server

Output Example

Normal Output
🚀 SpeedMeter.dev CLI v1.0.0 Server: https://speedmeter.dev Your IP: 192.168.1.100 Ping: 18 ms (jitter: 2.3 ms) Download: 245.32 Mbps Upload: 98.45 Mbps ───────────────────────────────── Results: Download: 245.32 Mbps Upload: 98.45 Mbps Ping: 18 ms Jitter: 2.3 ms ─────────────────────────────────
JSON Output
{ "download": 245.32, "upload": 98.45, "ping": 18, "jitter": 2.3, "server": "https://speedmeter.dev", "ip": "192.168.1.100", "timestamp": "2025-01-09T12:00:00.000Z" }

Use in Scripts

Integrate speed tests into your automation scripts.

Bash
#!/bin/bash RESULT=$(speedmeter --json) DOWNLOAD=$(echo $RESULT | jq '.download') UPLOAD=$(echo $RESULT | jq '.upload') echo "Download: $DOWNLOAD Mbps" echo "Upload: $UPLOAD Mbps" # Alert if speed is low if (( $(echo "$DOWNLOAD < 10" | bc -l) )); then echo "Warning: Download speed is below 10 Mbps!" fi
PowerShell
$result = speedmeter --json | ConvertFrom-Json Write-Host "Download: $($result.download) Mbps" Write-Host "Upload: $($result.upload) Mbps" Write-Host "Ping: $($result.ping) ms" # Log to file $result | ConvertTo-Json | Out-File "speedtest-$(Get-Date -Format 'yyyy-MM-dd').json"
Cron Job (Linux)
# Run speed test every hour and log results 0 * * * * /usr/local/bin/speedmeter --json >> /var/log/speedtest.log 2>&1

FAQ

Is it free?

Yes, SpeedMeter CLI is completely free and open source.

Does it require installation?

No. The binary version works without any installation - just download and run. For npm version, you need Node.js 14+.

Does it work through VPN/proxy?

Yes, SpeedMeter CLI uses HTTP which works through most VPNs and proxies.

What's the difference between binary and npm version?

Binary version is a standalone executable (~400KB) that doesn't require Node.js. npm version requires Node.js but is easier to update.

Can I use it in CI/CD pipelines?

Yes! Use --json flag for machine-readable output. Works great in GitHub Actions, Jenkins, etc.

Need Help?

Found a bug or have a feature request?

Open Issue on GitHub