Test your speed on every device you use
The same engine and the same maths behind every result — on your phone, your computer, your browser or straight from a terminal. History is kept per device.
Download the app
Each build is tuned for its operating system, with background testing and scheduled reminders.
iPhone, iPad and Apple Watch
Measure Wi-Fi and cellular speeds, keep history per network, and compare quality room by room.
- Home screen widget showing your latest result
- Tests automatically when you switch Wi-Fi networks
- Video streaming and connection stability tests
- Requires iOS 15 or later
Android phones and tablets
Track 4G and 5G speeds over time and place, and build your own coverage map as you go.
- Scheduled background tests, no need to open the app
- Records which network type was in use for each test
- Export your history to CSV
- Requires Android 9 or later
Windows 10 and 11
A light desktop app that opens several streams at once so gigabit links are measured properly.
- Multi-stream testing that fills the whole link
- Live charts for each phase of the test
- Compare Wi-Fi against cable in a single window
macOS
A universal binary running natively on Apple Silicon and Intel, with a menu bar companion.
- Quick test from the menu bar without opening a window
- A global keyboard shortcut to start a test
- Requires macOS 12 or later
Browser extension
One click to test in the current tab, without leaving the page you were reading.
- Runs the test right inside the extension popup
- Pins your latest result to the toolbar
- Works in Chrome and other Chromium-based browsers
Apple TV
Check the link right where you watch — useful when a stream keeps dropping in quality.
- An interface built for a remote control
- Tests which video resolutions your line can sustain
- Requires tvOS 16 or later
A CLI for servers and automation
Run scheduled tests on headless machines, emit the result as JSON, and pipe it straight into your monitoring stack.
- Builds for Linux, macOS and Windows
- JSON, CSV or a compact format suited to log files
- Target a specific test server with a command line flag
# run a test and print the result as JSON $ speedtest --format=json # pick a server and cap the duration $ speedtest --server-id=1234 --duration=10 # run every 15 minutes from cron $ */15 * * * * speedtest --format=csv >> speed.log
Wire it into your own systems
This build exposes the measurement endpoints so you can call them from anywhere.
| Endpoint | Method | Description |
|---|---|---|
/api/download?bytes=N | GET | Returns N random bytes for measuring download speed |
/api/upload | POST | Accepts data and reports how many bytes arrived |
/api/ping | GET | An empty response used to measure round-trip time |
/api/info | GET | Details of the test server and the client's IP address |
Nothing to install
The web version measures download, upload, ping and jitter right in your browser.