Mac Won't Connect to WiFi - 10 Fixes That Actually Work
Whether your Mac refuses to join a network, shows a spinning gear forever, or connects but immediately drops, work through these fixes in order. Most users solve the problem at step 2 or 3. If the Mac connects fine but the connection keeps dropping afterwards, jump to the WiFi keeps disconnecting guide instead - that is a different problem with different causes.
Common Causes at a Glance
| Symptom | Most Likely Cause | Start At |
|---|---|---|
| Spinning gear, never connects | Corrupted saved network profile | Fix 2 |
| "Incorrect password" with the right password | Stale Keychain entry or changed router security | Fix 2 |
| Connected, no internet | DHCP or DNS failure | Fix 3 and 4 |
| Network not visible at all | Hidden SSID, 5GHz-only network, or interface off | Fix 1 |
| No network connects, on any WiFi | Corrupt system network preferences | Fix 6 |
| Works for other devices, not the Mac | Mac-side configuration | Fix 1, then down the list |
The 10 Fixes, In Order
-
Turn WiFi off and on - System Settings → Wi-Fi → toggle the switch off, wait 10 seconds, turn it back on. Simple but effective for firmware glitches. You can do the same from Terminal:
networksetup -setairportpower en0 off, wait, thennetworksetup -setairportpower en0 on. (Wi-Fi isen0on most modern Macs; confirm withnetworksetup -listallhardwareports.) - Forget the network and rejoin - Click the network name → Forget This Network → rejoin with the password. This clears any corrupted connection profile. The forget and rejoin guide has the exact steps for every macOS version, including removing stale Keychain entries when the password keeps being rejected.
-
Renew DHCP lease - System Settings → Network → Wi-Fi → Details → TCP/IP → Renew DHCP Lease. Forces your router to assign a fresh IP address. To check whether you currently have one, run
ipconfig getifaddr en0in Terminal - if it prints nothing, DHCP is the problem. -
Flush DNS cache - Open Terminal and run:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Enter your password. This clears stale DNS records that may be blocking connections. You can verify name resolution is working again with the DNS lookup tool once you are online. - Check your router - Restart your router by unplugging it for 30 seconds. Check if other devices connect to the same network. If nothing can connect, the fault is the router or ISP, and no Mac-side fix will help.
-
Delete WiFi preference files - In Finder, press Cmd+Shift+G and go to
/Library/Preferences/SystemConfiguration/. Delete these files:com.apple.airport.preferences.plist,com.apple.network.identification.plist,NetworkInterfaces.plist,preferences.plist. Restart your Mac. This resets your entire network configuration - you will need to rejoin networks afterwards. -
Change DNS servers - System Settings → Network → Wi-Fi → Details → DNS → add
1.1.1.1and8.8.8.8. Your ISP's DNS may be failing. - Disable VPN and security software - Temporarily disable any VPN, firewall, or antivirus software and retry. These can block connections when misconfigured. On public networks a VPN can also silently block the login portal - see the VPN vs captive portal guide.
- Run Wireless Diagnostics - Hold Option and click the WiFi icon in the menu bar → Open Wireless Diagnostics. Let it scan and follow the recommendations. The Wireless Diagnostics guide explains how to read the scan, log, and performance modes.
- Create a new Network Location - System Settings → Network → click the … menu → Locations → Edit Locations → add a new location. This creates a clean network profile and often fixes persistent issues that survive everything above.
If That Didn't Work
If all ten fixes fail, the remaining suspects are outside the normal configuration layer:
- Boot into Safe Mode - On Apple Silicon, shut down, hold the power button until startup options appear, select your disk and hold Shift. Safe Mode skips third-party extensions; if WiFi works there, a login item or kernel extension is interfering.
- Test in a new user account - System Settings → Users & Groups → add a test user. If WiFi works for the new user, the problem is per-user configuration, not system-wide.
- Update macOS - System Settings → General → Software Update. WiFi driver fixes ship in point releases regularly.
- Suspect hardware - If the WiFi interface does not appear at all in
networksetup -listallhardwareports, or Bluetooth is also failing (they share the same card), book a hardware check with Apple Support.
macOS Version Note
All paths above use the System Settings layout from macOS Ventura (13), Sonoma (14), and Sequoia (15). On Monterey (12) and earlier, use System Preferences → Network: the DHCP, DNS, and Preferred Networks options are behind the Advanced… button, and Locations are in the Location dropdown at the top of the Network pane. Terminal commands behave identically on every version.
Frequently Asked Questions
Why won't my Mac connect to WiFi when my phone connects fine?
If other devices work, the router and ISP are healthy and the fault is on the Mac: a corrupted saved network profile, stale DHCP lease, broken DNS cache, or damaged system network preference files. Forget and rejoin the network first, then renew the DHCP lease, flush DNS, and as a last resort delete the network configuration plist files and restart.
How do I completely reset WiFi settings on a Mac?
Quit all apps, then in Finder press Cmd+Shift+G and open /Library/Preferences/SystemConfiguration/. Move com.apple.airport.preferences.plist, com.apple.network.identification.plist, NetworkInterfaces.plist, and preferences.plist to the Trash and restart. macOS rebuilds them with factory defaults, so you will need to rejoin networks and re-enter passwords.
Why does my Mac keep saying the WiFi password is incorrect when it's right?
The saved profile for that network usually holds outdated security data, for example after the router password or security mode changed. Forget the network in System Settings, then also delete its entry in Keychain Access (search the network name under login keychain), restart WiFi, and join again typing the password fresh.