Internet Connection Monitor for iPhone and Mac

Watch latency, jitter and packet loss live on your iPhone. For a connection that needs watching for days, the free Mac Agent checks it every 30 seconds by default while the Mac is awake and records when it drops and when it comes back.

Download Free on the App Store

Connection Monitor and all 19 iPhone tools are free, and so is the Mac Agent. No ads, no account required.

What Connection Monitor Does

An internet connection monitor has one job: keep checking your connection and show you when it drops, how often, and for how long. PingKit does that in two places, and each answers a different question.

On iPhone, Connection Monitor (called Live Connection in the Monitor tab) pings a server about once a second while its screen is open and plots every reply. Instead of a single snapshot, you get a running picture of latency, jitter and packet loss, with timeouts marked on a scrolling graph and a computed stability score. It stops when you leave the screen, because iOS does not let an app keep pinging in the background.

On a Mac, the free PingKit Agent keeps checking for as long as the Mac is awake and writes every outage it catches to a timeline, with the time it started and the time it ended. That is the half to use when the question is "how often does my internet drop?" rather than "is it bad right now?"

Live Graphs

Watch latency plotted in real time on a scrolling chart. Spikes and drops are immediately visible, making it easy to correlate network problems with what you were doing at the time.

Stability Score

A single number that summarizes your connection quality based on latency consistency, jitter, and packet loss. Know instantly whether your connection is healthy or degraded.

Drop Detection

Automatically detects and flags connection drops, timeouts, and latency spikes. Catch intermittent problems that a quick speed test would completely miss.

Sustained Monitoring

Keep the monitor running while the app is open to track connection quality across a work session or a long troubleshooting run. For unattended coverage, the free PingKit Mac Agent keeps checking your connection for as long as the Mac is awake and alerts you.

An Internet Connection Monitor on a Mac

An iPhone cannot watch your connection from your pocket. A Mac on your desk can. PingKit Agent, the free Mac menu bar app, runs on macOS 15 or later, keeps checking your internet connection for as long as the Mac is awake, and keeps a record of every outage it sees.

What it checks, and how often

Every 30 seconds by default, the Agent checks your router and two public servers, 1.1.1.1 and 8.8.8.8. For the two public servers it tries an ordinary ping first, and a connection to port 443 only if the ping gets no answer. Your internet counts as down only when neither public server answers, so one provider having a bad moment is not recorded as your outage. Settings offers every 15, 30 or 60 seconds.

Those are the figures on mains power. On battery, a setting that is on by default slows the check to every 60 seconds, with 30, 60 or 120 to choose from, so leave a MacBook plugged in for a monitoring run. When the Mac sleeps the checks stop. A gap in the Timeline with no outage row around it usually means the Mac was asleep, not that the internet was down: the Agent writes an outage only when a check actually fails.

What it records when the internet drops

The Timeline is the outage log. The first failed check writes Internet connectivity lost to it, with the time. The first check that succeeds afterwards writes Internet restored, with the latency it measured. Between those two rows is your outage, accurate to within one check interval at each end.

The notification is deliberately stricter than the record. An Internet Down alert fires only after three failed checks in a row, and Internet Restored waits for two good checks in a row. So a blip that fails one or two checks still appears in the Timeline but raises no alert. The reverse is a real limit: a drop that starts and ends between two checks is not seen at all, which is what the 15 second setting is for.

How long the history lasts

The timeline is stored on the Mac for 30 days and survives a restart of the app. The Timeline pane lists the most recent 500 events, and its Connectivity filter narrows them to outages, recoveries, latency spikes and speed tests. The Agent's monitoring and its notifications on the Mac need no subscription.

With Guardian, you can pair the Agent with PingKit on your iPhone and see its devices and timeline there: the iPhone shows the Agent's joins, departures, outages and speed tests from the last 30 days, or 90 with Guardian Plus.

Proving an outage to your ISP

Leave the Agent running on a Mac that stays plugged in and awake, on the network you want to prove. After the next bad evening, open the Timeline, choose Connectivity, and each outage is there as a pair of times: when it went down and when it came back. A dated list is something a support team can check against their side, which "it keeps dropping" is not. In the UK this is what people look for as a broadband monitor: the same record, for the same conversation with the provider. The Reports pane can also save a PDF that includes the most recent timeline events, which is easier to attach to a ticket than a screenshot.

Get PingKit Agent free on the Mac App Store (macOS 15 or later).

When You Need Connection Monitoring

Diagnosing Intermittent Issues

The most frustrating network problems are the ones that come and go. Your video call freezes for two seconds, then recovers. Your game lags, then it is fine. A speed test shows everything is perfect because the problem was not happening at that exact moment. Connection Monitor pings about once a second while the app is open and marks every ping that never came back, so you have evidence of when and how often the problem occurs.

WiFi Dead Zone Mapping

Walk around your home or office with Connection Monitor running. When the stability score drops and latency spikes, you have found a weak spot. This is far more useful than checking WiFi signal bars, which do not account for interference, congestion, or the actual quality of the data connection. Map out where your WiFi is strong and where it needs help.

ISP Reliability Tracking

Your ISP promises 99.9% uptime, but your experience says otherwise. Run Connection Monitor during peak hours and capture every timeout, spike, and outage. PingKit keeps a summary of your last session but not its graph, so screenshot the graph and the packet loss figure while they are on screen: that is concrete evidence to send your ISP's support team instead of saying "it feels slow sometimes." For evidence that covers more than the minutes you can sit and watch, use the Mac Agent's timeline.

Gaming Connection Check

Before starting a ranked match or competitive session, run Connection Monitor for a few minutes. If the stability score is high and the graph is flat, your connection is ready. If you see periodic spikes or packet loss, you know to expect lag issues and might want to switch networks or wait for conditions to improve. For a grade instead of a graph, Session Watch in the Tools tab turns a minute of readings into an A to F verdict for real-time games, and with Guardian it runs for up to two hours against the cloud region nearest your game.

Choosing What to Ping

The target defaults to 8.8.8.8 and you can change it, and changing it is the difference between knowing something is wrong and knowing where.

Ping your router and you are measuring one hop: the link between your phone and the access point, and nothing else. If that is unstable, the fault is your Wi-Fi, full stop, and no amount of shouting at your ISP will help. If it is rock solid while everything else is bad, you have just cleared the Wi-Fi entirely, in about a minute. Find the router's address in the My Network tool.

Ping a public address like the default and you are measuring everything: Wi-Fi, the router, the line, your ISP, and their onward path. That is the right general-purpose test and the one to use when you have no hypothesis yet.

Ping the thing that is actually misbehaving, the game server or the video host, and you measure the real path to it, which can be bad while the general internet is fine. Routing is per-destination, and one badly peered network is a genuinely common cause of "everything works except this".

Running those three in sequence, a minute each, localises almost any connection complaint. Good router, bad internet means the fault is past your front door. Bad router means it is inside. Good internet, bad destination means the route to that one service is the problem, and a traceroute to it will usually show you where.

What the Numbers Are

PingKit sends one ping per second and keeps the most recent sixty, so the graph is a rolling minute and the latency and jitter figures beside it describe that minute rather than the whole session. Packet loss is the exception, as below.

Latency is shown as the current reading with the average, minimum and maximum across the window. The minimum is the interesting one, because it is what your connection manages with nothing in the way. Everything above it is queueing, contention or interference.

Jitter is the average difference between one reading and the next.[source] Not the spread, the step. This is what determines whether a call sounds fine, and it is why a connection can benchmark well and still be unusable: 25 ms with 2 ms of jitter is smooth, 25 ms with 40 ms of jitter is not.

Packet loss is the share of pings since you tapped Start that never came back, counted across the whole run rather than the last minute. Timeouts are drawn on the graph rather than skipped, so each lost ping shows as a red dot along the bottom of the graph.

The stability score starts at 100 and subtracts: two points for each one per cent of packet loss, five points for an average latency above 50 ms or ten above 100, and five, ten or twenty points as jitter passes 10, 20 and 50 ms. The result bands into Excellent at 90, Good at 70, Fair at 50 and Poor at 25.

Those weightings encode a claim worth making explicit: loss and jitter hurt more than raw latency. Twenty per cent packet loss costs forty points while a 120 ms average costs ten, because a connection that loses one packet in five is broken and one that is merely far away is not.

Shapes Worth Recognising

A flat line, any height. Healthy. A steady 90 ms to a distant server is a good connection to a distant server.

A flat line with occasional tall spikes. Something else is contending. On Wi-Fi that is usually interference or a neighbouring network; on a wired link it is usually somebody saturating the upload. If the spikes arrive on a rhythm, look for something scheduled.

A sawtooth that climbs then resets. Buffer bloat. Your link is being filled and the queue is growing until something gives up. It shows up hardest during a large upload and is the reason a video call degrades when someone starts a backup.

A clean gap of several seconds, then normal. A handover. On Wi-Fi that is your phone moving between access points; on cellular it is a cell change. Normal in itself, and worth chasing only if it happens while you sit still.

A baseline that steps up and stays there. The route changed, or something upstream started throttling. Compare with a run against your router: if the router is unchanged, the step is past it.

Scattered single timeouts with low jitter. Usually upstream rather than Wi-Fi. Wi-Fi problems normally disturb the timing of the packets that do arrive; a clean line with occasional total losses points further out.

PingKit vs Other Connection Monitors

The honest limit first: this runs while the app is open, and afterwards it keeps only a summary. iOS suspends an app in the background, and no app on the App Store can hold a continuous ping running behind your lock screen, whatever its description implies. When a run ends, PingKit keeps the figures it finished on (average, minimum and maximum latency, jitter and packet loss) and shows them as Last session the next time you open the screen. It does not keep the graph or any earlier session, so if you want to keep those, screenshot them.

That is a real constraint and it is why the Mac Agent exists. A Mac that stays awake is not suspended by the OS, and the Agent records every outage it detects: its Timeline shows the latest 500 events on the Mac, and a paired iPhone with Guardian shows 30 days of them. That is the correct shape for "prove to my ISP that this happens every evening at nine". The Agent is free.

What matters PingKit on iPhone PingKit Mac Agent Typical monitor app
Runs unattendedNo, foreground onlyYes, while the Mac is awakeOften claimed, rarely true on iOS
Keeps historyLast session's summary onlyYes: latest 500 events on the Mac, 30 days on a Guardian iPhoneVaries
Alerts youNoYesVaries
Portable around the houseYes, this is the pointNoYes
PriceFree, all 19 toolsFreeOften subscription

The two are complements rather than alternatives. The phone is what you carry to the bad corner of the house. The Mac is what tells you the drop happened at 21:14 last Tuesday.

Troubleshooting

The score is low but everything feels fine. Check what you are pinging. A distant or heavily rate-limited target penalises the average, and some hosts deprioritise ICMP so aggressively that the loss figure is about their policy rather than your connection. Point it at your router, then at the default, and compare.

The score is high but a call still breaks up. Look at jitter and at the graph rather than the number. A minute of calm with one four-second gap can still score well and will still drop a call.

Monitoring stops when you switch apps. Expected. iOS suspends the app. Leave the screen on, or use the Mac Agent for anything longer than you want to sit and watch.

Every ping times out. Some networks block ICMP entirely, which is common on hotel and corporate Wi-Fi. Try your router's address: if that answers and nothing beyond does, ICMP is being filtered at the edge and the tool cannot see past it.

Results differ between Wi-Fi and cellular. That is a useful finding rather than a fault. It is the fastest way to prove the problem is your Wi-Fi and not the internet.

The graph is empty after coming back to the app. The graph is not stored, by design. The Last session card shows the previous run's averages, jitter and packet loss; screenshot the graph itself before you leave the screen if you want to keep it.

More Than Just Monitoring

Connection Monitor is one part of PingKit's diagnostic toolkit, alongside the one-tap Smart Diagnostics run. When the monitor detects a problem, use MTR to trace the route and identify which hop is introducing the latency. Run a Speed Test to check throughput. Use Smart Diagnostics for an automated analysis that translates raw data into plain-language recommendations. Together, these tools give you a complete view of what is happening and where the problem lives.

Watch a site while you sleep

Uptime Watch checks a website or a TCP port from Cloudflare and pushes a notification to your iPhone when it goes down and when it recovers. One URL, checked every hour, is free, permanently. Guardian watches ten, every five minutes, for $2.99 a month on iPhone or Mac.

Uptime Watch for iPhone and Mac →

Watching a connection that misbehaves.

Sixty seconds of live latency tells you what is happening now. These are the guides for faults that only show up over longer than that.

Questions and answers

Can PingKit monitor my internet connection 24/7?

Only on a Mac that does not sleep. The free PingKit Agent checks while the Mac is awake and stops while it sleeps, and it does not keep the Mac awake itself, so set the Mac not to sleep if you want nights covered too. It is a menu bar app that checks your router and two public servers, 1.1.1.1 and 8.8.8.8, every 30 seconds by default while the Mac is awake, or every 60 seconds on battery. It writes each outage to its Timeline with the time of the first failed check and of the first check that passed again, and sends an Internet Down notification after three failed checks in a row. On an iPhone, no: Live Connection runs only while its screen is open, because iOS gives an app no background time to keep pinging, and it stops when you leave the screen. With Guardian, you can pair the Agent with PingKit on your iPhone and see its devices and timeline there.

How do I prove to my ISP that my internet keeps dropping?

Leave the free Mac Agent running on a Mac that stays plugged in and awake on that network. Each outage it catches goes into its Timeline as an Internet connectivity lost row with the time, followed by Internet restored and the measured latency when the connection returns, so after the next bad evening you have a dated list of when it went down and came back. The Timeline shows the most recent 500 events, which is under two days on a busy network, so check it or save a PDF each day. Choose the Connectivity filter to show only those rows, or save a PDF from the Reports pane, which includes the most recent 150 timeline events. The Agent counts the internet as down only when both 1.1.1.1 and 8.8.8.8 fail to answer, which keeps one provider's bad minute out of the record. On an iPhone, run Live Connection during the bad hours and screenshot the graph and the packet loss figure, because the app keeps a summary of the last session but not the graph.

How long should I run Connection Monitor to get accurate results?

Long enough for the statistic you actually care about, which differs between them. The graph holds the most recent 60 samples, roughly a minute at one ping a second, so it settles fast and then scrolls; packet loss is counted across the whole session instead, so a 20 to 30 minute run gives a far more trustworthy loss figure than a two minute one, and the stability score moves with it. Past that there is a hard limit rather than a recommendation: the monitor runs only while PingKit is open in front of you, because iOS gives the app no background time for network checks, and it stops when you leave the screen. For a run that has to outlast your attention, the free Mac Agent keeps checking on a Mac for as long as the Mac is awake.

How do I check if my internet connection is stable on iPhone?

Open the Monitor tab, tap Live Connection, then tap Start Monitoring. PingKit pings the chosen host once a second, 8.8.8.8 by default, with Cloudflare, Quad9, OpenDNS or any address you type in, including your own router. The card at the top shows a stability score out of 100 with a one-word rating, the graph below it plots each reply and marks every timeout as a red dot along the baseline, and under that sit average, minimum and maximum latency, jitter, packet loss and the sample count. It is free, and it runs only while that screen is open, so leaving the screen stops the run.

Why does my internet keep dropping on iPhone?

The usual causes are WiFi interference, distance from the router, a congested link at peak times, or a fault upstream at your ISP. Connection Monitor narrows that down instead of guessing: point it at your router first using the Custom host field, and if timeouts still appear the trouble is inside your home, then repeat against 8.8.8.8 or 1.1.1.1 to test the path out to the internet. Failed pings show as red dots on the graph and the packet loss figure counts every ping since you tapped Start, so a drop lasting two seconds still leaves a trace. PingKit cannot read WiFi signal strength on an iPhone, so judge a weak spot by latency and loss rather than by bars.

What is a good network stability score?

It is a score out of 100, not a percentage. PingKit starts each run at 100 and deducts 2 points for every 1% of packet loss, 5 points if average latency is above 50 ms or 10 points if it is above 100 ms, and 5, 10 or 20 points as jitter passes 10, 20 and 50 ms. The app labels 90 and above Excellent, 70 to 89 Good, 50 to 69 Fair, 25 to 49 Poor, and anything below 25 Bad. Under 70 means loss or jitter is already high enough to be felt on a call, so that is the point at which it is worth looking further.

Can I monitor my WiFi connection quality over time?

On the iPhone this is a live view rather than a log. The graph and the latency figures cover the most recent 60 samples, roughly a minute at one ping a second, with older points dropped, while the packet loss figure counts the whole run since you tapped Start. When a run ends, PingKit keeps the figures it finished on (average, minimum and maximum latency, jitter and packet loss) and shows them as Last session the next time you open the screen. It does not keep the graph or any earlier session, and leaving the screen stops monitoring, so take a screenshot if you want the graph as a record for your ISP. For coverage over hours or days, the free Mac Agent runs its own connectivity check every 30 seconds by default, against your gateway and 1.1.1.1 or 8.8.8.8 rather than a host you pick, and stores 30 days of its timeline on the Mac; its Timeline pane shows the most recent 500 events, and a Guardian iPhone shows the full 30 days.

Monitor your internet connection.

Download PingKit free for iPhone, and add the free Mac Agent to keep watching while the Mac is awake.

Download Free on the App Store

Requires iOS 17.0 or later. The Mac Agent is free on the Mac App Store and needs macOS 15 or later.