How do I check my internet speed on a Mac?

Measure your Mac's real internet speed from Terminal with Apple's built-in networkQuality tool, then use ping and curl to find out whether the slowdown is your Wi-Fi, your Mac, or your provider.

macOSpingmacosnetworkspeed-testnetworkQualityDiagnosticsLow risk
Run Apple's built-in networkQuality tool in Terminal first — it is the only test that reports download, upload and responsiveness together without installing anything.

What this covers

When everything feels slow, the numbers matter more than the feeling. macOS includes a command-line speed test, and two more standard tools tell you whether the problem is raw throughput, latency, or simply the site you are visiting. This guide puts them in order so you can name the culprit instead of guessing.

Symptom

?Pages load slowly or spin forever, video calls freeze or drop, large downloads crawl, and different speed-test sites give you wildly different numbers each time.

Measure download, upload and responsiveness with macOS networkQuality

Throughput is the first number you need, and macOS ships a hidden tool that reports it without any app or browser tab. Run it in Terminal and wait 15–30 seconds: the verbose output lists download capacity, upload capacity, and a responsiveness figure measured in round trips per minute. Compare the download figure with the speed you actually pay your provider for. If download looks fine but responsiveness is low, the link is not slow — it is buffering badly under load.

macOS has a hidden networkQuality tool that measures download, upload, and responsiveness without any app.

Command
$ networkQuality -v

Check latency and packet loss with ping

Bandwidth alone does not explain stutter. A four-packet ping to a public host prints the min/avg/max round-trip times and, more importantly, the packet-loss percentage. Zero loss with a steady average under about 50 ms is healthy; loss above 1–2%, or wildly varying times, usually points at the Wi-Fi link rather than the provider. Run it once on Wi-Fi and once on Ethernet or a phone hotspot — if only the Wi-Fi run looks bad, your Mac is not the common factor.

Send a fixed number of ICMP echo requests and read the RTT min/avg/max summary and packet loss.

Command
$ ping -c 4 example.com

Rule out a single dead website with curl

Before blaming your connection, check whether the site you care about is the one that is broken. A HEAD request with a short timeout returns the HTTP status line: 200 means the site answered fine, so the slowness is on your side; a timeout or a 5xx means the remote server is the problem and your Mac and router are innocent. Skip this step if everything is slow, not just one site.

macOSTest if a Website Is Down with curlLow riskStep 3Optional

Send a quick HTTP request from the terminal to check whether a site responds and what status it returns.

Command
$ curl -I -L --max-time 10 https://example.com

Confirm sustained real-world download speed with curl

A speed test measures a burst; a real transfer measures sustained throughput. This curl call pulls a 10 MB test file, throws the data away, and prints only the average download speed in bytes per second. Divide that number by roughly 125,000 to get Mbps (so 12,500,000 bytes/sec is about 100 Mbps). If this figure is far below what networkQuality reported, the bottleneck is local: weak Wi-Fi signal, a VPN, or another program competing for the link.

See how fast a specific server actually transfers data, in bytes per second, using plain curl.

Command
$ curl -o /dev/null -w "Download speed: %{speed_download} bytes/sec\n" "https://proof.ovh.net/files/10Mb.dat"
!Speed tests use real bandwidth: on a metered, capped or mobile connection they count against your data allowance. A VPN or another download running at the same time will skew every number, so switch them off before you start.

How to confirm it worked

Your networkQuality download figure is close to your plan's advertised speed, ping shows 0% packet loss, and the curl download speed lands in the same ballpark as the networkQuality result.

Sources

  • What is the Network Quality test on Mac
    Apple · vendor-doc · 2026-09-17
    Evidence: Apple documents the built-in network quality test and how Responsiveness (RPM) reflects capacity under load.
  • networkQuality — macOS network quality test
    SS64 · technical · 2026-09-17
    Evidence: Documents the networkQuality command-line tool and its -v verbose option that prints download/upload responsiveness.
  • ping - Send ICMP ECHO_REQUEST packets to network hosts
    SS64 · technical · 2026-09-17
    Evidence: Documents `-c count` to stop after N packets and `-i wait` for the interval, with usage examples like `ping -i 5 example.com` and round-trip time statistics.
  • ping(8) man page
    Xcode Man Pages (keith.github.io) · technical · 2026-09-17
    Evidence: Man page for ping: `-c count` stops after sending count ECHO_REQUEST packets and prints a summary of round-trip times, packet loss and `-i wait` interval control.
  • curl — transfer data from or to a server (macOS man page)
    SS64 · technical · 2026-09-17
    Evidence: Documents curl -I for a HEAD request, -L to follow redirects and --max-time to cap the total request time.

Last verified: 2026-09-22

Related guides