How to Fix Wi-Fi Issues on Mac — Step-by-Step Diagnostics in 2026
Wi-Fi problems on a Mac usually fall into one of four patterns: it joins but speed is poor, it drops every few minutes, it refuses to join a network it used to know, or it shows full bars but no internet. Each pattern has a different cause and a different fix. The guide below walks through them in the order a working network engineer would — symptoms first, cheap fixes next, deeper resets last.
Everything here works on macOS Sequoia (15) and Sonoma (14), and most of it on Ventura too. Commands are run in Terminal (Applications → Utilities → Terminal). If you are unsure which symptom matches yours, start with the table in the next section.
Symptom → first three fixes
Use this as a starting map. Each row lists the three things to try first before moving deeper into the article.
Symptom
Fix 1
Fix 2
Fix 3
Slow speeds
Run networkQuality
Switch to 5 GHz or 6 GHz band
Move closer to router or change channel
Drops every few minutes
Forget and rejoin network
Renew DHCP lease
Disable Wi-Fi-only Continuity features
Won't join known network
Forget network, reboot router
Reset Location/Network service
Delete SystemConfiguration plists
Joined but no internet
Change DNS to 1.1.1.1 or 9.9.9.9
Check captive portal
Disconnect VPN, retest
Can't see any networks
Toggle Wi-Fi off/on
Reset Bluetooth (interferes)
Run Apple Diagnostics
"Authentication error"
Forget network, retype password
Check router 2.4/5/6 GHz SSIDs
Update router firmware
Step 1: Read the signal before changing anything
Before resetting anything, gather one minute of data. Hold the Option key and click the Wi-Fi icon in the menu bar. You will see the SSID, BSSID (the router's MAC address), channel, channel width (20/40/80/160 MHz), PHY mode (likely Wi-Fi 6/6E/7 in 2026), RSSI in dBm, noise in dBm, and transmit rate. The relevant numbers:
RSSI above -60 dBm is strong, -67 to -70 is workable, below -75 dBm is where streaming and calls start to suffer. -80 dBm is barely connected.
Noise below -90 dBm is clean. Closer to -75 dBm means interference (microwave, neighbor APs, dense Bluetooth).
SNR (signal minus noise) above 25 dB is healthy. Below 15 dB causes retransmits and effective throughput collapse.
Tx Rate tells you what the radio negotiated. A 1200 Mbps Wi-Fi 6 link dropping to 144 Mbps means the link is degraded or the band shifted.
Then open Terminal and run networkQuality — Apple's built-in responsiveness test added in Monterey. It reports download, upload, and "responsiveness" (a Round-Trips-Per-Minute metric under load). A home connection on a healthy Wi-Fi 6 router should hit hundreds of RPM and within 70-90% of the wired speed. A poor result with high RPM under load means the bottleneck is upstream, not your Mac.
Step 2: Built-in Wireless Diagnostics
Hold the Option key and click the Wi-Fi icon, then choose Open Wireless Diagnostics. The visible window is the wizard — skip past it. The real value is in the menu bar: Window → Scan, Window → Performance, and Window → Sniffer.
Scan shows every nearby SSID with their channels, widths, signal, and noise. The "Best 2.4 GHz Channels" and "Best 5 GHz Channels" panel at the top suggests the least-congested channels. Performance graphs RSSI, noise, and transmit rate in real time — watch it for a minute while moving around or running a download to find dead spots and roaming behavior. Sniffer captures raw 802.11 frames for deep packet analysis (usually overkill, but invaluable if you ever need to send a capture to support).
Wireless Diagnostics also saves a WirelessDiagnostics-*.tar.gz log archive to your desktop when you finish the wizard. If you escalate to ISP support, this archive is what they actually want.
Step 3: Terminal commands that pinpoint the problem
Five commands answer most "is it my Mac, my network, my ISP, or DNS" questions in under a minute.
ping
ping -c 20 1.1.1.1 tests raw IP reachability to Cloudflare's public DNS. If this fails entirely but Wi-Fi shows connected, the gateway or upstream is broken — not your DNS. If it succeeds with low latency and zero loss, the network path is fine.
ping -c 20 192.168.1.1 (replace with your gateway IP, visible under System Settings → Network → Wi-Fi → Details → TCP/IP) confirms your link to the router itself. High latency or packet loss here points to local Wi-Fi quality, not the ISP.
traceroute
traceroute -n 1.1.1.1 shows every hop your packets take. The first hop is your router. The second is usually your ISP's edge. If latency jumps dramatically between hops 2 and 4, the slowness is upstream; if it jumps between you and hop 1, it is your local link.
dig
dig +short cloudflare.com tests DNS. If ping 1.1.1.1 works but dig times out or returns nothing, your DNS resolver is broken — common with captive portals, broken DoH, or stale resolver state.
scutil --dns
scutil --dns dumps every DNS configuration macOS knows about, by interface and scoped queries. Look for unexpected resolvers (VPNs often inject 10.x.x.x or 100.64.x.x addresses), and confirm your active interface has reasonable nameservers.
networkQuality
networkQuality -v runs the verbose responsiveness test. Compare the result wired vs Wi-Fi — if wired is 5x faster, the problem is your wireless link or router placement, not your ISP.
Step 4: Forget the network and rejoin
Half of all weird Wi-Fi behavior comes from stale credentials or cached network profiles. To fully forget a network: System Settings → Wi-Fi → click the (i) next to the network name → Forget This Network. Confirm. Then rejoin from scratch and re-enter the password. On macOS Sequoia, the same option is also exposed in the Wi-Fi menu by holding Option and clicking the network name.
If the network appears in iCloud Keychain across devices, the credentials may sync back almost immediately. To prevent that during troubleshooting, temporarily turn off Keychain sync (System Settings → [your name] → iCloud → Passwords & Keychain → off) before forgetting the network.
Step 5: Renew the DHCP lease
If your Mac connects but cannot reach the internet, a broken DHCP lease is a likely cause. System Settings → Network → Wi-Fi → Details → TCP/IP → click Renew DHCP Lease. You should see the IPv4 address, subnet mask, router, and DNS servers populate within a few seconds.
If the address that appears is in 169.254.x.x range, your Mac never got a real lease — that is a self-assigned link-local address. Restart the router and try again. If you control the router, check its DHCP pool isn't exhausted (consumer routers usually have a 200-address pool that fills up if you don't manage long lease times).
Step 6: Change DNS
Your ISP's DNS is often the slowest and most error-prone link in the chain. Swap it. System Settings → Network → Wi-Fi → Details → DNS. Click the + under DNS Servers and add:
Cloudflare: 1.1.1.1 and 1.0.0.1 (also 2606:4700:4700::1111 for IPv6)
Quad9: 9.9.9.9 and 149.112.112.112 (blocks known malicious domains by default)
Google: 8.8.8.8 and 8.8.4.4 (fast, but less privacy-respecting)
NextDNS: custom IPs from your dashboard, with content filtering and analytics
Click OK and Apply. Test with dig +short cloudflare.com. For full DNS-over-HTTPS support, install a Configuration Profile from 1.1.1.1 or NextDNS — that encrypts DNS queries even on captive networks.
Step 7: Remove and re-add the network service
If Wi-Fi is fundamentally misbehaving — keeps prompting for password, fails to join known networks — recreate the network service. System Settings → Network → click the three-dot menu next to the Wi-Fi service → Remove Service. Then click Add Service, choose Wi-Fi, give it a name, and Apply. macOS will rebuild its internal interface state from scratch.
This is non-destructive (your saved networks live in Keychain, not the service) but it does reset Wi-Fi priority order, so reorder networks after if you have multiple.
Step 8: Delete SystemConfiguration plists
This is the nuclear option for persistent Wi-Fi misbehavior. macOS stores Wi-Fi state in several .plist files inside /Library/Preferences/SystemConfiguration/. When they corrupt, no amount of forgetting or rejoining helps.
Reboot. On macOS Sonoma and Sequoia, some of these files are protected by SIP and require entering Recovery Mode for full removal — but the listed ones can be deleted from the running system. After reboot, Wi-Fi will rebuild its preferences fresh. You will have to rejoin every network and re-enter passwords, so save them in 1Password or a similar password manager first.
Step 9: Channel and band selection
2.4 GHz is congested everywhere in 2026 — microwaves, baby monitors, Bluetooth, old IoT, and dozens of neighbor SSIDs share the same three usable channels (1, 6, 11). Use 2.4 GHz only for range to outbuildings or for IoT devices that need it.
5 GHz has 25+ non-overlapping channels in most regions, but DFS channels (52-144) can be interrupted by weather radar; non-DFS channels (36-48 and 149-165) are safer for streaming and calls. 5 GHz signal degrades faster through walls than 2.4 GHz, so closer to the router is better.
6 GHz (Wi-Fi 6E and 7) is the clean band. Almost no congestion, wide 160 MHz channels, and very fast throughput on close-range links. The only catch: Wi-Fi 6E requires a Mac with the M2 chip or newer, and 6 GHz signal does not penetrate walls well. Use it in the same room as the router for maximum throughput.
On the router side, set 2.4 GHz to channel 1, 6, or 11 with 20 MHz width (40 MHz on 2.4 GHz causes co-channel interference). Set 5 GHz to a non-DFS channel with 80 MHz width. Set 6 GHz to automatic with 160 MHz. Turn on band steering (the same SSID for 2.4/5/6 GHz, letting the router and Mac pick the best). Update the router firmware — manufacturers ship critical Wi-Fi fixes throughout the year, and consumer routers often go a year without an update unless owners check.
Step 10: Captive portals and VPN interference
Hotel, airport, and cafe networks use captive portals — your Mac gets an IP and gateway but every web request redirects to a login page until you authenticate. macOS detects this and pops a "Network Login" window, but VPN clients, custom DNS profiles, and DNS-over-HTTPS can break that detection. If you join a captive network and the login page never appears, try opening http://captive.apple.com directly in Safari. That URL is hardcoded in macOS as the captive-portal probe; loading it manually forces the redirect.
Always-on VPNs (Tailscale, WireGuard, corporate clients) can also block captive portals because the VPN tunnel comes up before the portal accepts you. Disable the VPN, authenticate, then re-enable. For Tailscale, use tailscale down then tailscale up. For NetExtender, Cisco AnyConnect, and similar, the GUI has a Disconnect button.
VPNs can also interfere with local services even when not at a captive portal — split-tunnel misconfigurations can route 1.1.1.1 through the VPN, killing local Wi-Fi performance metrics. Check scutil --dns while connected to verify your active resolvers.
Step 11: Continuity, Handoff, and AirDrop conflicts
Continuity features (Universal Clipboard, Handoff, AirDrop, AirPlay, Phone calls, instant hotspot) use Bluetooth LE for discovery and Wi-Fi Direct for the actual transfer. On older Macs and some Wi-Fi 6E configurations, Continuity has been known to briefly drop the primary Wi-Fi connection when negotiating a peer-to-peer link.
If your drops correlate with iPhone notifications or AirDrop activity from nearby devices, try temporarily turning off Handoff (System Settings → General → AirDrop & Handoff → Allow Handoff between this Mac and your iCloud devices → off) for a day to confirm. AirDrop can be set to "Contacts Only" or "No One" instead of "Everyone" to reduce background negotiation traffic.
Step 12: ISP-side checks
If wired Ethernet is also slow (test by plugging directly into the router with a USB-C-to-Ethernet adapter, like Apple's $29 model or any cheaper alternative), the problem is not your Mac or your Wi-Fi. Log into your ISP's status page or call them. Modems get degraded over multi-year deployments; a factory reset of the modem or a swap for a newer model often restores full speed.
For cable internet, check the modem's signal page (usually 192.168.100.1 for many DOCSIS modems) — downstream power should be around -7 to +7 dBmV, upstream around 35-50 dBmV, and SNR above 30 dB. Numbers outside those ranges mean the ISP cable plant needs a technician visit, not anything you can fix.
Step 13: Hardware test and worst case
If everything above fails, run Apple Diagnostics. Shut down the Mac, then on Apple Silicon press and hold the power button until "Loading startup options" appears, then press Command+D. On Intel Macs, hold the D key at startup. The diagnostic suite tests the wireless module along with everything else and returns a reference code starting with NDC or NDR if it finds a Wi-Fi fault — write the code down and provide it to Apple Support.
If the wireless module is failing or interference at your location is unfixable, two stopgaps work. First, a USB Wi-Fi adapter — Alfa AWUS036ACM (2.4/5 GHz Wi-Fi 5) or a more modern AX-class USB 3 adapter — sidesteps the internal radio entirely. Second, run Ethernet. A USB-C-to-Gigabit adapter is $20 and gives you a wired connection that beats any Wi-Fi in latency and reliability. For a desk setup, this should be the default anyway.
Conclusion
Wi-Fi troubleshooting on a Mac is almost always a process of elimination, not a single magic fix. Start cheap: check the signal numbers, run networkQuality, ping the gateway and Cloudflare, swap DNS. Move up only when the cheap fixes do not stick: forget and rejoin, renew DHCP, recreate the network service, delete SystemConfiguration plists. Reserve the band/channel adjustments and hardware tests for the cases where the basics genuinely did not help.
The single highest-leverage change for most home Wi-Fi problems in 2026 is moving to a Wi-Fi 6 or 6E router and placing it where your Mac actually sits. Throughput is a function of signal quality, and signal quality is mostly geometry. If your router is in a closet two walls away, no amount of Terminal tuning will beat moving it to the open room.