Speedtest
An internet speed test you can watch, with a history
palupdated 2026-09-29SystemIn pal's registry
In pal's registry: the button shows it in pal, which asks before installing; the command does the same from a terminal. This page can't see what your pal has installed.






What it does
Run an internet speed test and watch it fill in: download and upload as they happen, ping and jitter, the server and your provider. Every run is kept in a history with a trend.
- Uses the speed test tool you have: Speedtest by Ookla, speedtest-cli or fast, and says how to install one
- Starts only when you press
enter;enteragain stops it - Live download and upload bars with the speed, ping and jitter, the server and your provider
cmd+entercopies the result as one line,cmd+oopens Ookla's result pagecmd+hshows every past run and a trend of the last twenty
Palettes 2
-
Speedtest
speedtestviewThe last result and the tool found; Enter runs a test and the view follows it live; Enter again stops it.
- ↵Start the test (stop it while it runs)
- ⌘↵Copy the result
- ⌘OOpen the result page (Ookla)
- ⌘HHistory
-
Speedtest History
historyliveFinished runs, newest first, with a Trend row that draws the last twenty as bars.
- ↵Copy the run (on Trend: show the bars)
- ⌘OOpen the result page
- ⌘DRemove the run
Actions
- Start the testRuns the tool; while it runs the same key stops it.↵
- Copy resultDown, up, ping and jitter, the server and the ISP, on one line.⌘↵
- Open the result pageSpeedtest by Ookla only.⌘O
- History⌘H
- Remove a runIn the history.⌘D
Settings
Extension, [extensions.speedtest]
toolWhich CLI runs the test. Auto takes Speedtest by Ookla (the only one that reports progress), else speedtest-cli, else fast. `speedtest` on PATH is told apart by its --version. One of auto, ookla, speedtest-cli, fast.
serverA speedtest.net server id to test against (`speedtest -L` lists nearby ones); empty picks the nearest. Ignored by fast.
keepHow many finished runs the history holds.
Defaults shown. Change them in pal's settings window or in the config file.
The README
Everything Speedtest does, key by key, from the extension's own README.md
Speedtest
A speed test you can watch in the panel, run by the CLI you already have. A view palette: opening it shows the last result and which tool was found; nothing runs until Enter. Enter spawns the tool and the view follows its output live; Enter again stops it.
The tools
| tool | how it is read | install |
|---|---|---|
Speedtest by Ookla (speedtest) |
--format=jsonl --progress=yes: a JSON line per progress step with the phase's fraction, the live bandwidth, the server, the ISP, the result page |
brew tap teamookla/speedtest && brew install speedtest (the licence is accepted on the command line) |
speedtest-cli (speedtest-cli, Python) |
its lines as they print: the ISP, the server with its ping, then the download and upload figures | brew install speedtest-cli (or pip install speedtest-cli) |
fast (fast-cli, Netflix) |
--upload --verbose: the one line it redraws, read for the last N Mbps ↓ and ↑ in each chunk, then the unloaded latency and the client line |
npm install --global fast-cli |
tool = auto takes them in that order (Ookla is the one with real
progress). speedtest on PATH is two different programs (sivel's pip
package installs a speedtest alias too), so it is told apart by its
--version. With none installed the view lists the three install lines
and Enter looks again.
The view
A head row (the tool, the server and ISP once known, the status badge),
then a card with a bar per direction and the figure in Mbps beside
it, and the ping tiles (latency, jitter, packet loss when the tool
reports it). Ookla's fraction fills the bar; for the other two the bar
estimates from the elapsed time and stops short of full. The foot line
is the elapsed time while running, the date and duration after, or the
failure. Every step the tool prints is pushed into the open view
(view.update); a tick keeps the elapsed time moving between them.
Keyboard
| keys | action |
|---|---|
enter |
Start the test; while it runs, stop it (the tool's process group is killed) |
cmd+enter |
Copy the result: ↓ 93.2 Mbps · ↑ 29.6 Mbps · ping 12.4 ms (jitter 1.0 ms) · server · ISP |
cmd+o |
Open the result page (Ookla only) |
cmd+h |
The history |
esc |
Leave the view; a running test keeps running and the view catches up when reopened |
Speedtest History
Every finished run lands in the Speedtest History palette
(speedtest-history, storage, the last keep), newest first: the two
figures and the ping as the name, the server, ISP and tool as the
subtitle, the date on the right; enter copies the run's line, cmd+o
opens its result page, cmd+d removes it; the last row clears the
history. The first row, Trend, draws the last twenty runs as bars,
download in blue and upload in green, each against the best of its own,
with the ping beside; Enter there copies the history as text.
Marked runs copy as one dated line each, open their result pages, or are removed together.
Setup
Settings, [extensions.speedtest]:
| key | type | default | what |
|---|---|---|---|
tool |
auto, ookla, speedtest-cli, fast |
auto |
Which CLI runs the test. |
server |
text | empty | A speedtest.net server id (speedtest -L lists nearby ones); empty picks the nearest. fast ignores it. |
keep |
number | 30 | Runs the history holds. |
A test that has not ended after two minutes is stopped.
What it does not do
- Measure anything itself: no tool, no test. The three above are the ones read; another CLI's output is not understood.
- Run on a schedule or from the bar: Enter is the only start.
- Show packet loss or the result page for speedtest-cli and fast: they do not report them.
Platforms
macOS and Linux.


