Speed test from your terminal

pong CLI measures your real internet speed with ping, download, upload, jitter, bufferbloat, and experience scores. Zero dependencies, works with Node.js 18+.

View on npm

What you get

Terminal
$ pong

  ▸ pong speed test  —  Auto (Nearest)
  ────────────────────────────────────────────────

  Ping       26.2 ms  (Good)
  Jitter     2.1 ms   (Excellent)

  Download   302 Mbps  (Excellent)

  Upload     36.3 Mbps  (Good)

  Bloat      Grade A  (+3ms under load)

  ────────────────────────────────────────────────
  Experience Scores

  4K Video     ████████████████████ 100/100
  Video Call   ██████████████████░░  89/100
  Gaming       ██████████████████░░  89/100
  Web          ███████████████████░  96/100

  Share results: https://pong.com/results?src=cli&...

  Powered by pong.com

Install in seconds

Works on macOS, Linux, and Windows. Requires Node.js 18 or later.

1
Install
npm install -g pongspeedtest
2
Run
pong
3
Share
pong --json | jq .download

What it measures

More than just download speed. pong CLI tests what actually matters for your internet experience.

🏓
Ping

Round-trip latency measured with 20 samples and trimmed mean for accuracy.

📉
Jitter

Latency variation (mean absolute deviation). Critical for video calls and gaming.

⬇️
Download

Multi-stream throughput test across three phases with increasing payloads.

⬆️
Upload

10-second multi-stream upload test with concurrent connections.

🫧
Bufferbloat

Measures latency increase under load. Graded A through F so you know if your router is the bottleneck.

📊
Experience Scores

Rates your connection 0 to 100 for 4K video, video calls, gaming, and web browsing.

Usage examples

Flexible options for testing, scripting, and automation.

Full test
Run a complete speed test with all metrics.
pong
Pick a server
Test against a specific server location.
pong --server lax
JSON output
Pipe results to jq, log files, or monitoring tools.
pong --json
Quick check
One-line output for dashboards or status bars.
pong --simple
Skip phases
Run only the tests you need.
pong --skip upload,bloat
List servers
See all 10+ test servers worldwide.
pong --list-servers

Global server network

Test against the nearest pong server (automatic) or pick from 10 servers worldwide.

CodeLocation
autoAuto nearest (default)
ewrNewark, US
laxLos Angeles, US
yyzToronto, CA
lhrLondon, GB
fraFrankfurt, DE
nrtTokyo, JP
sinSingapore, SG
bomMumbai, IN
sydSydney, AU
gruSao Paulo, BR

JSON output for scripting

Pipe results to monitoring tools, log files, or dashboards.

Terminal
$ pong --json

{
  "server": { "code": "auto", "name": "Auto (Nearest)" },
  "ping": 26.2,
  "jitter": 2.1,
  "download": 302.4,
  "upload": 36.3,
  "bufferbloat": {
    "grade": "A",
    "bloatMs": 3.2
  },
  "scores": {
    "video4k": 100,
    "videoCall": 89,
    "gaming": 89,
    "web": 96
  },
  "resultsUrl": "https://pong.com/results?src=cli&..."
}

Try it now

One command to install. Zero dependencies. Takes about 30 seconds to run.

Then run pong to test your speed.