Free for Mac · No account · No tracking

Is it your Wi‑Fi
or your ISP?

WiFi or ISP sits in your menu bar and times your router and the internet at the same moment. When things slow down, it tells you which side to blame, and keeps the receipts for your ISP.

macOS 14 or later · Apple Silicon and Intel · Notarized by Apple
brew install --cask coreyhaines31/tap/wifiorisp

One question, answered with two numbers.

Every few seconds, the app times a round trip to your router and, at the same moment, one to the internet. Your router is the border: everything before it is yours, everything after it is your ISP's.

Router 4 msInternet 186 ms

Slow: ISP, not WiFi

Your router answers right away, so the slowdown is past it. Call your ISP, and send them the report.

Router 92 msSignal −81 dBm

Slow: weak WiFi signal

Even the router is slow to answer, and the signal is weak. Move closer, or add an access point.

Router 88 msSignal −52 dBm

Slow: WiFi or router, not ISP

Strong signal, slow router. That's a crowded channel or an overloaded router. Restart it, or change its channel.

Router answersInternet silent

Offline: ISP is down, WiFi is fine

Your home network works. The outage is upstream, and the app notes exactly when it started and ended.

A flight recorder for your connection.

Slow internet never happens while the support rep is on the phone. So WiFi or ISP logs it in the background: signal, noise, transmit rate, roaming, router and internet round trips, and every drop. Look back an hour or a month.

When you're ready to complain, export a plain-text report. It lists each outage and whether your router kept answering through it, which is the part that makes an ISP stop telling you to restart your router.

Connection report
Period: Oct 1 at 9:00 AM to Oct 8 at 9:00 AM

- Outages: 3, 47 min in total.
  During 3 of them, my router kept answering
  while nothing past it did, so the outage was
  on the ISP's side.
- Slow because of the ISP's side: 9.4%
- Slow because of my home network: 0.6%
- Typical round trip to my router: 4 ms.

Know the moment it happens.

Get a heads-up when the internet drops (and when it's back, with how long it was gone), when your Mac quietly falls back to 2.4 GHz, or when it roams to an access point that's worse than the one it left.

Turn each one off in Settings. Reconnecting after sleep never counts as a drop.

Two tests that settle arguments.

Speed

412Mbps down
38Mbps up

Measured against the nearest Measurement Lab server, a nonprofit research project. M-Lab publishes every result as open data, and the app tells you so before your first test. Runs only when you click it.

Lag under load

205RPM · Low

Lags under load: past your router (bufferbloat)

Fills your connection both ways and measures how slow round trips get, using the IETF responsiveness test. Router probes during the test show whether the queue is on your side or past it, and what to change.

Light on your Mac. Silent about you.

No tracking

No analytics, no account. History stays on your Mac, and nothing is sent anywhere except the tests you start.

Location, only for a name

macOS treats your Wi-Fi network's name as location data. Allow it and your history is labeled by network. Skip it and everything else still works.

Never scans

It reads your current connection without scanning for networks, and backs off if macOS's Wi-Fi service gets busy.

No admin rights

Round trips are timed with ordinary connections, not ping, so there's nothing to install with a password.

Questions

Why is my Wi-Fi so slow?

Usually one of three things: a weak signal (too far from the router, or walls in the way), a crowded channel or overloaded router, or a problem past your router at your ISP. Each one looks the same from your browser. WiFi or ISP tells them apart by timing your router and the internet together.

What does “WiFi” mean in the verdict?

Your side of the line: your Mac's radio, the air, and your router. “ISP” means everything past the router, including your modem and the line to your provider. If your router is slow, that's on your side, even with a strong signal.

What is bufferbloat?

When an upload or download fills your connection, packets pile up in a queue and every round trip slows down. That's why video calls stutter while a backup runs. The lag-under-load test measures it and says whether the queue is in your Wi-Fi or router, or past it. Turning on Smart Queue Management (SQM) on your router usually fixes it.

Does it run speed tests all the time?

No. The background checks are single tiny round trips, every 5 to 30 seconds. Speed and lag tests only run when you click them.

Why does it ask for Location?

Only to show your Wi-Fi network's name, which macOS treats as location data. The app never asks where you are. Say no and it shows “Unknown network”.

Does it work over Ethernet or a VPN?

Yes. On a cable it skips the signal readings and still compares your router with the internet. With a VPN on, it still measures the Wi-Fi network underneath.

Is it really free?

Yes. The source is on GitHub under the Functional Source License, which turns into the MIT license two years after each release.

Next time it's slow, know who to call.

brew install --cask coreyhaines31/tap/wifiorisp