LightAtom

networkQuality: Test Your Mac's Connection from Terminal

macOS has a built-in speed test. networkQuality measures download, upload and, unusually, how responsive your connection stays under load.

networkQuality

Measure upload, download and responsiveness in parallel (about 20 seconds).

beginner3 minNeeds: macOS 12 Monterey or later

When to use it

Use networkQuality instead of a speed-test website when you want a quick, ad-free test, to compare Wi-Fi and Ethernet, or to measure responsiveness: how much your latency suffers when the line is busy (bufferbloat).

Steps

  1. Run the default test

    Open Terminal and run it. Uploads and downloads run at the same time, which stresses the connection like real use.
    networkQuality
  2. Test each direction separately

    -s runs download then upload, which gives a clearer capacity number for each.
    networkQuality -s
  3. Test one interface

    Compare Wi-Fi (en0) and an Ethernet adapter by binding the test to each.
    networkQuality -I en0
  4. Get more detail

    -v adds the test servers, flows and latency details; -c prints JSON for scripts.
    networkQuality -v

Output explained

A real run on home Wi-Fi:

==== SUMMARY ====
Uplink capacity: 89.231 Mbps
Downlink capacity: 150.201 Mbps
Uplink Responsiveness: Low (379.422 milliseconds | 158 RPM)
Downlink Responsiveness: Low (380.168 milliseconds | 157 RPM)
Idle Latency: 70.018 milliseconds | 856 RPM
  • Capacity is throughput in megabits per second.
  • Responsiveness is how many round trips per minute (RPM) still fit while the line is loaded. Low (here about 380 ms per round trip) means heavy bufferbloat: calls and games suffer whenever someone downloads. Medium and High are better.
  • Idle Latency is the round trip with no load. The gap between idle (70 ms) and loaded (380 ms) is the bufferbloat.

Smart queue management (SQM) on the router usually raises responsiveness from Low to High.

Options and variations

FlagMeaningExample
-sRun download and upload sequentiallynetworkQuality -s
-d / -uSkip the download / upload testnetworkQuality -u
-I IFBind to an interfacenetworkQuality -I en0
-vVerbose outputnetworkQuality -v
-cComputer-readable (JSON) outputnetworkQuality -c > result.json
-f h3Force a protocol (h1, h2, h3, L4S)networkQuality -f h3
-M NMaximum runtime in secondsnetworkQuality -M 10

Common errors

ErrorCauseFix
Error: The Internet connection appears to be offlineNo network connectionCheck Wi-Fi or Ethernet first.
Results much lower than your plan over Wi-FiWi-Fi is the bottleneckTest with -I on Ethernet to compare.

Do it in the app

networkQuality measures the connection; LightAtom's connections view shows which app is using it, which explains a sudden drop in results.

Frequently asked questions

Does a Mac have a built-in speed test?

Yes. Run networkQuality in Terminal on macOS 12 or later. It measures download, upload and responsiveness against Apple's servers.

What does RPM mean in networkQuality?

Round trips per minute: how many request-response cycles the connection completes per minute while it's busy. Higher is better; it reflects how responsive apps feel under load.

Why is my networkQuality responsiveness Low?

Latency rises a lot when the line is loaded, usually due to bufferbloat in the router or modem. Enabling smart queue management (SQM) on the router typically fixes it.

LightAtom team

The people who build LightAtom, a network monitor for macOS.