Speed test from your terminal

pong CLI is a complete network toolkit: speed test, DNS lookup, global latency, outage checker, and IP lookup. Measure download, upload, ping, 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

IP lookup too

Terminal
$ pong ip

  ▸ pong ip
  ────────────────────────────────────────────────

  YOUR PUBLIC IP ADDRESS
  47.156.154.245  IPv4

  ISP           Frontier Communications of America, Inc.
  ASN           AS5650

  City          Los Angeles
  Region        California
  Country       US
  Coordinates   34.05, -118.24
  Edge          LAX (Cloudflare PoP)

  ────────────────────────────────────────────────
  ▸ Test your speed: https://pong.com
  ▸ Full IP details: https://pong.com/ip

  Powered by pong.com

DNS lookup

Terminal
$ pong dns google.com

  ▸ pong dns  —  google.com
  ────────────────────────────────────────────────

  A       142.250.80.46                   300s
  AAAA    2607:f8b0:4004:800::200e        300s
  MX      alt1.gmail-smtp-in.l.google.com 3600s
  NS      ns1.google.com                  86400s
  NS      ns2.google.com                  86400s
  NS      ns3.google.com                  86400s
  NS      ns4.google.com                  86400s
  TXT     "v=spf1 include:_spf.goo..."    3600s

  ────────────────────────────────────────────────
  8 records found via Cloudflare DNS (1.1.1.1)
  Query time: 42ms

  ▸ Full DNS lookup: https://pong.com/dns

  Powered by pong.com

Global latency

Terminal
$ pong latency

  ▸ pong latency  —  11 servers
  ────────────────────────────────────────────────

  ◆ CF Edge (LAX)      15ms   Edge
  ● Los Angeles        16ms   Excellent
  ● Toronto            66ms   Good
  ● Newark             85ms   Good
  ● Tokyo             121ms   Fair
  ● Sydney            158ms   Fair
  ● London            160ms   Fair
  ● Frankfurt         170ms   Fair
  ● Sao Paulo         187ms   Fair
  ● Singapore         189ms   Fair
  ● Mumbai            506ms   Poor

  ────────────────────────────────────────────────
  Nearest: CF Edge (Los Angeles) at 15ms

  ▸ Interactive map: https://pong.com/latency

  Powered by pong.com

Outage checker

Terminal
$ pong outages

  ▸ pong outages  —  34 services
  ────────────────────────────────────────────────

  Search & Productivity
  ● Google           Up    23ms
  ● Gmail            Up    45ms
  ● Google Drive     Up    38ms
  ● Microsoft 365    Up    67ms

  Social & Video
  ● YouTube          Up    31ms
  ● Facebook         Up    52ms
  ● Instagram        Up    48ms
  ● X (Twitter)      Up    41ms
  ● Reddit           Up    55ms

  Communication
  ● Discord          Up    29ms
  ● Zoom             Up    61ms
  ● Slack            Up    44ms

  Cloud & Developer
  ● AWS              Up    35ms
  ● GitHub           Up    28ms
  ● Cloudflare       Up    19ms
  ● Vercel           Up    22ms

  ────────────────────────────────────────────────
  34/34 services operational

  ▸ Full dashboard: https://pong.com/outages

  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.

🌐
IP Lookup

Show your public IP address, ISP, ASN, and location. Detected via Cloudflare's global network.

🔍
DNS Lookup

Query A, AAAA, MX, NS, CNAME, TXT, and SOA records for any domain via Cloudflare DNS.

🌍
Global Latency

Ping 10 servers worldwide plus Cloudflare edge. See your latency to every continent.

🚨
Outage Checker

Check 34+ popular services (Google, AWS, Discord, etc.) for outages directly from your terminal.

Usage examples

Flexible options for testing, scripting, and automation.

What's my IP
Show your public IP, ISP, and location.
pong ip
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
DNS lookup
Check DNS records for any domain.
pong dns example.com
DNS specific type
Query a specific record type.
pong dns example.com --type MX
Global latency
Ping all servers and see latency worldwide.
pong latency
Check outages
See if popular services are down.
pong outages
Check specific service
Check a single service or custom URL.
pong outages --check github.com

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.