Skip to content

Speed Test Icon

speedtest-cli

A fast, beautiful command-line tool for testing your network speed

Python Version PyPI Version Release Tests License


Overview

speedtest-cli is a modern, feature-rich command-line tool that measures your internet connection speed with style. Built on Cloudflare's global infrastructure, it provides accurate speed measurements along with detailed network metrics, all displayed in a beautiful terminal interface.

SpeedTest Video demo

Key Features

  • Accurate Speed Testing - Powered by Cloudflare's global network for reliable measurements
  • Comprehensive Metrics - Download/upload speeds, latency, jitter, and HTTP latency
  • Beautiful Interface - Rich terminal output with progress bars and formatted tables
  • Web Dashboard - Interactive HTML dashboard with maps and visualizations
  • Flexible Output - Console display, JSON export, or silent mode for automation
  • Network Details - ISP information, location data, IPv4/IPv6 support
  • Cross-Platform - Works on Linux, macOS, and Windows
  • Container Ready - Available as Docker/Podman image

SpeedTest dashboard

Quick Start

Installation

Install using pipx (recommended) or uv:

# Using pipx
pipx install speedtest-cloudflare-cli

# Using uv
uv tool install speedtest-cloudflare-cli

See the Installation Guide for more options.

Basic Usage

Run a complete speed test:

speedtest-cli

Speedtest output

Open results in an interactive web dashboard:

speedtest-cli --web_view

Export results to JSON:

speedtest-cli --json-output results.json

See the Usage Guide for all available options and examples.

Why speedtest-cli?

  • Cloudflare Infrastructure - Leverage one of the world's largest and fastest networks
  • Privacy Focused - No account required, no tracking, open source
  • Modern Python - Built with type hints, async support, and modern best practices
  • Beautiful UX - Powered by Rich for stunning terminal output
  • Automation Friendly - JSON output and silent mode for scripts and monitoring
  • Installation - Detailed installation instructions for all platforms
  • Usage Guide - Complete guide to all CLI options and features
  • Features - In-depth look at capabilities and metrics
  • Web Dashboard - Interactive dashboard features
  • Docker - Running in containers
  • API Reference - Using as a Python library
  • Contributing - Development setup and guidelines
  • FAQ - Common questions and troubleshooting

Running in a Container

Pre-built container images are available:

# Using Podman
podman run --rm -it ghcr.io/takitsu21/speedtest:latest

# Using Docker
docker run --rm -it ghcr.io/takitsu21/speedtest:latest

See the Docker Guide for more details.

Example Output

When you run speedtest-cli, you'll see:

  1. Connection Information - Your IP, ISP, and location
  2. Progress Tracking - Real-time progress bars for downloads/uploads
  3. Results Table - Formatted table with all metrics:
  4. Download speed (Mbps)
  5. Upload speed (Mbps)
  6. Ping latency (ms)
  7. Jitter (ms)
  8. HTTP latency (ms)

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.