How to Use networkQuality in macOS Terminal to Measure Network Capacity and Responsiveness

Testing internet connection quality typically involves opening a web browser and navigating to commercial speed test platforms. However, web-based tests often introduce JavaScript overhead, display distracting advertisements, and focus almost exclusively on peak throughput (megabits per second). In macOS Monterey (macOS 12) and later versions—including macOS Sonoma and macOS Sequoia—Apple introduced networkQuality, a built-in command-line diagnostic tool that measures raw upload and download capacity alongside network responsiveness (Round-trips Per Minute) under heavy load.

What Sets networkQuality Apart: Measuring Bufferbloat (RPM)

Traditional speed tests measure how much data your network pipe can push when idle. However, high bandwidth is meaningless for video calls, online gaming, and remote desktop sessions if the connection suffers from Bufferbloat—latency spikes caused by routers excessively buffering packets during concurrent traffic. The networkQuality utility measures RPM (Round-trips Per Minute), which reflects how many discrete requests your connection can complete per minute while actively saturated with bidirectional upload and download streams.

  • Low Responsiveness (< 400 RPM): Noticeable lag, audio dropouts during FaceTime or Zoom calls, and gaming latency spikes when someone else on the local network downloads a file.
  • Medium Responsiveness (400 – 1200 RPM): Good performance for mixed home streaming and web browsing with occasional jitter.
  • High Responsiveness (> 1200 RPM): Pristine network quality, low bufferbloat, and flawless real-time responsiveness even during heavy saturation.

Step-by-Step: Running networkQuality in macOS

Because networkQuality is built directly into the operating system, no external software or Homebrew packages are required.

1. Basic Bidirectional Speed and Responsiveness Test

Open Terminal (located in /Applications/Utilities/) and enter:

networkQuality

macOS initiates concurrent upload and download data streams against Apple CDN edge servers. After approximately 10 to 15 seconds, the terminal prints a concise summary:

  • Uplink capacity: Effective upload throughput (e.g., 94.520 Mbps).
  • Downlink capacity: Effective download throughput (e.g., 482.110 Mbps).
  • Responsiveness: Calculated network quality score (e.g., High (2140 RPM)).

Advanced Command Options and Diagnostic Modes

1. Sequential Testing (Isolating Upload vs. Download)

By default, networkQuality tests uplink and downlink simultaneously. To measure throughput sequentially (first download, then upload) to match traditional commercial speed tests, pass the -s flag:

networkQuality -s

2. Verbose Telemetry Output

To inspect raw packet telemetry, TLS handshake metrics, TCP connection counts, and latency percentiles under load, use the verbose (-v) switch:

networkQuality -v

3. Exporting Results in Machine-Readable JSON Format

Network engineers and DevOps professionals monitoring macOS CI/CD runners can output performance data in structured JSON using -c:

networkQuality -c

This output can be piped directly into jq or monitoring daemons to track home and office network health trends over time.

4. Specifying a Specific Network Interface

If your Mac has both an active Wi-Fi connection and a Thunderbolt Ethernet adapter connected, specify the target interface using -I:

networkQuality -I en0

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.