Speedtest

An internet speed test you can watch, with a history

palupdated 2026-09-29SystemIn pal's registry

Open in pal

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.

Speedtest: Opened: the tool found; nothing runs until Enter
Opened: the tool found; nothing runs until Enter
Speedtest: Downloading: the bar fills with Ookla's progress, the figure moves with it
Downloading: the bar fills with Ookla's progress, the figure moves with it
Speedtest: Done: both figures, ping and jitter, the server and the ISP
Done: both figures, ping and jitter, the server and the ISP
Speedtest: History: the runs, newest first
History: the runs, newest first
Speedtest: The trend: the last runs as bars, download in blue and upload in green
The trend: the last runs as bars, download in blue and upload in green
Speedtest: Nothing installed: the three ways to get a tool
Nothing installed: the three ways to get a tool
1 of 6

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; enter again stops it
  • Live download and upload bars with the speed, ping and jitter, the server and your provider
  • cmd+enter copies the result as one line, cmd+o opens Ookla's result page
  • cmd+h shows every past run and a trend of the last twenty

Palettes 2

  • Speedtestspeedtestview

    The 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 Historyhistorylive

    Finished 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]

tool
Auto (Ookla, speedtest-cli, fast) select

Which 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.

server
empty text

A speedtest.net server id to test against (`speedtest -L` lists nearby ones); empty picks the nearest. Ignored by fast.

keep
30 number

How 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.