Network

Connected to Wi-Fi, but nothing loads? Find where the chain breaks

Short answerGetting online takes four things in a row, and any one of them can break while the Wi-Fi icon still looks full:
  • Your Mac needs an address — handed out by your router. An address starting 169.254 means it never got one.
  • Your Mac needs to reach the router — the box in your house.
  • The router needs to reach the internet — that's your provider's half.
  • Your Mac needs to look up names — turning apple.com into a numbered address. This is called DNS, and it's the one that breaks most quietly.
Test them in that order and the first one that fails is your answer. The four commands are below — you'll know which link is broken in about a minute.

Full Wi-Fi bars. “Connected.” And every page hangs. It looks like a contradiction, but it isn't: the Wi-Fi icon only tells you your Mac is talking to the router. Everything after that is a separate question.

Ten-second check first: is it every device in the house, or just this Mac? If your phone is offline too, it's the router or your provider — skip to the bottom. If it's only this Mac, work down the ladder.

First, measure

Don't change settings yet. Four commands find the broken link, and each one points at a different fix. Open Terminal ( Space, type Terminal, Return).

Rung one — does your Mac have an address?

When you join a network, your router hands your Mac a numbered address so the two can talk. No address, no internet, no matter how strong the signal. First find what your Wi-Fi is actually called — it's en0 on most Macs, but not all, and checking the wrong one will send you down the wrong path:

zsh — Terminal
% networksetup -listallhardwareports | grep -A1 Wi-Fi
Sample result
Hardware Port: Wi-Fi
Device: en0

The Device line is the name to use below. If yours says en1, use en1 everywhere this guide says en0.

zsh — Terminal
% ifconfig en0
Sample result
	inet 192.168.86.151 netmask 0xffffff00 broadcast 192.168.86.255
	status: active

Read the inet line. Something starting 192.168 or 10. is a normal home address. If you see 169.254 — or no inet line at all — go straight to the self-assigned address section below.

Rung two — can your Mac reach the router?

Your router is the box everything in your house talks through. Find its address, then knock on it.

zsh — Terminal
% route -n get default
Sample result
   route to: default
destination: default
    gateway: 192.168.86.1
  interface: en0

The “gateway” line is your router — but check the “interface” line matches your Wi-Fi first. If it names something else (a utun is a VPN, another en is Ethernet or a dock), your Mac is sending traffic somewhere other than the Wi-Fi, and that is itself the problem — see the VPN section below. If the command reports nothing at all, your Mac has no way out: that's the self-assigned address problem.

zsh — Terminal
% ping -c 3 192.168.86.1
Sample result
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 3.662/3.702/3.741/0.039 ms

Use whatever gateway address the command above printed. Replies mean your Mac and the router are talking fine, and the break is further out.

Rung three — can the router reach the internet?

Now step past the router. This address belongs to a public service that always answers, and using the number skips name lookups entirely — so this tests the connection and nothing else.

zsh — Terminal
% ping -c 5 1.1.1.1
Sample result
64 bytes from 1.1.1.1: icmp_seq=0 ttl=55 time=17.9 ms
...
round-trip min/avg/max = 16.8/18.3/21.6 ms

Replies mean your internet works. If the router answered but this doesn't, the break is on your provider's side — nothing on your Mac will fix it.

Rung four — can your Mac look up names?

Before your Mac can load a site it has to turn the name into a numbered address, the way you'd look up a phone number before dialling. That step is called DNS. When it breaks, everything else works perfectly and no page opens — which is exactly what “connected but no internet” usually is.

zsh — Terminal
% ping -c 5 apple.com
Sample result
64 bytes from 17.253.144.10: icmp_seq=0 ttl=56 time=18.1 ms
...
round-trip min/avg/max = 14.0/18.4/20.9 ms

If the numbered address answered a moment ago and this one hangs or says “cannot resolve”, your lookups are broken. That's the most common cause of this exact symptom.

The first rung that fails is your answer. Find its section below.

The lookup is broken

ping 1.1.1.1 works. ping apple.com hangs or can't resolve. Every page sits on “Connecting…” forever.

Your connection is healthy; your Mac just can't translate names into addresses. Usually the lookup service your router handed over is unreachable or wrong — often after a router restart or a provider change.

Fixgive your Mac a lookup service you know answers: System Settings > Wi-Fi > Details > DNS, and add 1.1.1.1 at the top of the list. Then clear the old answers out:

One exception. On a work, school, or VPN network, don't. Those networks run their own lookup service on purpose — it's what resolves internal addresses like your intranet or a shared drive, and a public one can't see them. If this is a managed Mac, put the original setting back and ask whoever runs the network.

zsh — Terminal
% sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Clears your Mac's saved lookups so the new setting takes effect immediately. Asks for your password; nothing permanent changes.

A self-assigned address

The inet line reads 169.254.something, or there's no inet line at all.

When a Mac asks the router for an address and gets no answer, it invents one starting 169.254. That's macOS telling you it gave up waiting. The Mac is on the Wi-Fi but has no valid identity on the network, so nothing can reach it and it can't reach anything.

Fixrenew the address first — System Settings > Wi-Fi > Details > TCP/IP > Renew DHCP Lease. If that doesn't take, forget the network (Details > Forget This Network) and join it fresh. If it still won't, restart the router: this is one of the few symptoms that genuinely is often the router's fault.

A login page you never saw

On hotel, café, airport or campus Wi-Fi. Connected, and every site redirects or times out.

Public networks hold you in a waiting room until you accept their terms on a login page — a captive portal. If that page never appeared, or you dismissed it, you're connected to the Wi-Fi and permitted to go precisely nowhere.

Fixopen http://neverssl.com in a browser. It's a plain, unencrypted page, which forces the network to show you its login screen instead of silently failing. Turning Wi-Fi off and on again also re-triggers the prompt.

A VPN that quit halfway

It broke when you closed a VPN, put the Mac to sleep, or switched networks.

A VPN routes all your traffic through itself. When one disconnects badly it can leave its routing behind — so your Mac keeps sending everything to a tunnel that no longer exists. Some VPNs do this deliberately, as a “kill switch” meant to protect you.

Fixreconnect the VPN properly and then disconnect it from inside its own app rather than force-quitting. Check System Settings > VPN for anything still switched on, and System Settings > Network > Details > Proxies for a proxy you didn't set.

A dead connection sitting in front

Everything stalls for several seconds, then sometimes works. There's an old adapter, dock, or virtual machine on the Mac.

Your Mac keeps a ranked list of ways to get online and tries them top to bottom. A dead entry at the top gets tried first, every time, and has to time out before Wi-Fi gets a turn.

zsh — Terminal
% networksetup -listnetworkserviceorder

The order your Mac tries. Wi-Fi should be at or near the top; anything you no longer use shouldn't be above it.

FixSystem Settings > Network > ••• > Set Service Order…, drag Wi-Fi to the top, and delete what you don't use.

NoahNoah found exactly this on one real Mac — an old T-Mobile USB modem sitting first in the network order, which macOS tried before Wi-Fi on every single connection. No cleanup app looks there.

The clock is wrong

Secure sites fail with a certificate or privacy warning, while plain ones load.

Encrypted connections depend on certificates that are only valid between two dates. If your Mac's clock is far off — usually after a dead battery or a long shutdown — every certificate looks expired or not-yet-valid, and your Mac refuses to connect.

FixSystem Settings > General > Date & Time, and switch “Set time and date automatically” off and back on.

When it's not the Mac

Your phone and everything else in the house are offline too.

Then it was never a Mac problem. Either the router has lost its connection, or your provider is down.

Fixunplug the modem and router for 30 seconds and plug them back in — modem first, and give it a couple of minutes before the router. Check your provider's status page from your phone's mobile data. If a restart fixes it for a while and it keeps returning, an ageing router or a weak line is usually the reason.

The short version

  1. ifconfig en0 — an address starting 169.254 means you never got one. Renew the lease.
  2. route -n get default, then ping the gateway — no reply means the break is between Mac and router.
  3. ping 1.1.1.1 — fails here and the break is at your provider.
  4. ping apple.com — works above but fails here, and it's the lookup. Add 1.1.1.1 as your DNS and flush the cache.
  5. On public Wi-Fi, open http://neverssl.com to force the login page.
Try Noah free

A Mac that's actually online.

Just tell Noah what's wrong:

My Mac says it's connected but nothing loads.
Fix my connection freeFirst conversation free7-day free trial afterOnly with your OK

Already have Noah? Open it on this problem →

Frequently asked questions

Why does my Mac say connected to Wi-Fi but there's no internet?

The Wi-Fi icon only means your Mac is talking to the router. Three more things have to work after that: your Mac needs a valid address from the router, the router needs to reach the internet, and your Mac needs to look up names (DNS). A broken lookup is the most common cause of this exact symptom — everything is connected and no page opens. Run ping 1.1.1.1 and then ping apple.com; if the number works and the name does not, it is your DNS.

What does a 169.254 IP address mean on a Mac?

It means your Mac asked the router for an address, got no answer, and invented one for itself. It is macOS telling you the router never responded. Renew the lease in System Settings > Wi-Fi > Details > TCP/IP > Renew DHCP Lease; if that fails, forget the network and rejoin, then restart the router.

How do I fix DNS on a Mac?

Go to System Settings > Wi-Fi > Details > DNS and add 1.1.1.1 at the top of the list, then run sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder in Terminal to clear the old saved answers. Confirm DNS was the problem first by comparing ping 1.1.1.1 against ping apple.com — if the numbered address answers and the name does not, the lookup is broken. On a work, school or VPN network, do not do this: those networks run their own lookup service to resolve internal addresses, and a public one cannot see them.

Why won't the hotel Wi-Fi login page appear on my Mac?

Hotel, café and airport networks hold you in a waiting room until you accept their terms on a login page, called a captive portal. If it never appeared, open http://neverssl.com in a browser — it is a plain unencrypted page, which forces the network to show its login screen instead of silently failing. Turning Wi-Fi off and on also re-triggers the prompt.

My Mac has no internet after disconnecting a VPN — why?

A VPN routes all your traffic through itself, and one that disconnects badly can leave that routing behind, so your Mac keeps sending traffic to a tunnel that no longer exists. Some VPNs do this on purpose as a kill switch. Reconnect the VPN and disconnect it properly from inside its own app, then check System Settings > VPN for anything still enabled and Network > Details > Proxies for a proxy you did not set.

Can Noah fix a Mac that won't connect to the internet?

Yes, for the software and settings side — a broken lookup, a stale address, a dead connection sitting above Wi-Fi in the service order, a leftover VPN route, or a wrong clock. Noah runs the same checks in order, tells you in plain English which link in the chain is broken, and applies the fix with your approval. What it cannot do is physical: restart your router or repair your provider's line.

Commands in this guide are standard, read-only macOS diagnostics unless noted; anything that changes your system is called out. When in doubt, back up first with Time Machine.