Connected to WiFi But No Internet Connection: Complete Fix Guide (iPhone, iPad & More)
Fix 'connected to WiFi but no internet' on iPhone, iPad & other devices. Step-by-step DNS flush, IP renewal, router resets & more. Resolved in minutes.
- Root cause 1: IP address conflict or DHCP lease failure — your device receives a local IP but the router cannot route traffic to the internet, often shown as '169.254.x.x' (APIPA) or a duplicate IP on the subnet.
- Root cause 2: DNS resolution failure — the device is connected to the network layer but cannot translate domain names to IP addresses, causing browsers to show 'This site can't be reached' or 'ERR_NAME_NOT_RESOLVED' even though the WiFi indicator shows full bars.
- Root cause 3: Router or ISP-side issue — NAT table overflow, firmware bug, or ISP outage means the gateway itself has no upstream connectivity regardless of the client device state.
- Root cause 4: Captive portal or proxy misconfiguration — especially common on iPhones and iPads connecting to hotel or office networks where the captive portal login page never loads.
- Quick fix summary: Forget and rejoin the WiFi network, flush DNS cache, renew your IP lease (ipconfig /release + /renew on Windows; networksetup on macOS), restart your router and modem, and if the problem persists on iOS devices specifically, toggle Airplane Mode on/off and reset Network Settings under Settings > General > Transfer or Reset iPhone > Reset > Reset Network Settings.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Toggle Airplane Mode | iPhone/iPad connected to WiFi but no internet; quick first step | < 1 min | None |
| Forget & Rejoin WiFi Network | Device shows connected but all traffic fails; stale credentials or DHCP lease | 1-2 min | Must re-enter WiFi password |
| Flush DNS Cache | Browsers show ERR_NAME_NOT_RESOLVED or sites fail but ping by IP works | < 1 min | None — clears cached DNS records |
| Renew IP Lease (ipconfig /release /renew) | Windows PC shows 169.254.x.x address or IP conflict warning | 1-2 min | Drops network briefly |
| Change DNS Servers to 8.8.8.8 / 1.1.1.1 | ISP DNS is down or slow; affects all devices on network | 3-5 min | Low — overrides ISP DNS |
| Router Power Cycle (30-30-30 reset) | Multiple devices have no internet; router firmware freeze | 5-10 min | Low — clears NAT table, active connections |
| Factory Reset Network Settings (iOS) | iPhone/iPad WiFi issues persist after all other fixes | 5 min | Medium — removes all saved WiFi passwords |
| Modem Reboot & ISP Contact | All devices on all networks fail; ISP outage suspected | 15-30 min | None — escalation step |
Understanding the 'Connected to WiFi But No Internet' Error
Seeing full WiFi bars but being unable to browse is one of the most confusing network states. The WiFi connection (Layer 2 association) and internet connectivity (Layer 3 routing) are two separate things. Your device can successfully authenticate with and associate to the access point while the path from the router to your ISP — or even from your device to the router — is broken.
Common symptoms include:
- Browser shows 'This site can't be reached', ERR_NAME_NOT_RESOLVED, or ERR_INTERNET_DISCONNECTED
- iPhone displays the WiFi symbol but Safari shows 'Cannot Open Page — Safari cannot open the page because it is not connected to the internet'
- iPad shows 'No Internet Connection' banner while WiFi is listed as connected in Settings
- Windows shows a yellow exclamation mark on the network icon with the message 'No Internet Access' or 'Limited Connectivity'
- macOS displays 'Wi-Fi: No Internet Connection' under the network name in System Settings
Step 1: Identify the Scope of the Problem
Before diving into fixes, determine whether the problem affects one device or all devices. This narrows the root cause dramatically.
Test 1 — Check another device: Connect a second phone or laptop to the same WiFi. If it also has no internet, the problem is with the router or ISP. If only one device is affected, the problem is device-specific.
Test 2 — Ping the gateway: Find your router's IP (usually 192.168.1.1 or 192.168.0.1) and ping it. If the ping fails, your device isn't reaching even the local network. If it succeeds but you can't reach google.com, DNS or routing is the culprit.
Test 3 — Ping by IP address: Try pinging 8.8.8.8 (Google's DNS). If this succeeds but browsing fails, DNS resolution is broken. If this fails too, routing beyond the router is broken.
Step 2: Quick Fixes for All Devices
Fix A — Restart the modem and router This resolves the majority of cases. Turn off the modem first, wait 30 seconds, power it back on, wait 60 seconds for it to establish the ISP connection, then restart the router. The sequence matters — modem before router.
Fix B — Forget and rejoin the WiFi network
- iPhone/iPad: Settings → Wi-Fi → tap the (i) next to the network → Forget This Network → rejoin and re-enter the password
- Android: Settings → Network & Internet → Wi-Fi → long-press the network → Forget → reconnect
- Windows: Settings → Network & Internet → Wi-Fi → Manage known networks → Forget → reconnect
- macOS: System Settings → Wi-Fi → click the (i) → Forget This Network → reconnect
Fix C — Change DNS servers Navigate to your WiFi network settings and manually set DNS to:
- Primary: 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare)
- Secondary: 8.8.4.4 (Google) or 1.0.0.1 (Cloudflare)
On iPhone/iPad: Settings → Wi-Fi → tap (i) → Configure DNS → Manual → add the servers above.
Step 3: iPhone-Specific Fixes (Connected to WiFi But No Internet)
iOS devices have additional layers that can cause this issue:
Toggle Airplane Mode: Swipe into Control Center, tap the airplane icon to enable Airplane Mode, wait 10 seconds, then tap again to disable. This forces iOS to fully re-negotiate the WiFi connection.
Check for Captive Portal: If connecting to a hotel, school, or office network, iOS should auto-launch a captive portal page. If it doesn't, open Safari and navigate to http://captive.apple.com — the portal may appear there.
Disable VPN or Proxy: A stuck VPN profile is a common culprit. Go to Settings → VPN and toggle it off. Also check Settings → Wi-Fi → (i) → HTTP Proxy and ensure it is set to Off.
Reset Network Settings: This is the nuclear option for iOS. Go to Settings → General → Transfer or Reset iPhone → Reset → Reset Network Settings. This clears all saved WiFi networks, VPN configurations, and cellular settings but does NOT delete apps or personal data. Afterward, rejoin your WiFi network.
Renew DHCP Lease: Settings → Wi-Fi → tap (i) next to the network → scroll down → tap 'Renew Lease'. This requests a fresh IP address from the router without forgetting the network.
Step 4: iPad-Specific Fixes
The steps for iPad mirror iPhone almost exactly, but there is one additional consideration: iPads used in enterprise or school environments often have MDM (Mobile Device Management) profiles that restrict network access or enforce specific proxy settings.
Check for restrictive profiles: Settings → General → VPN & Device Management. If profiles are installed by an organization, contact your IT administrator before modifying network settings.
iPad WiFi + Cellular models: If your iPad has a cellular radio, toggle Wi-Fi off and verify that cellular data works. If cellular works but WiFi doesn't, the issue is definitively WiFi/router-side.
Step 5: Windows PC Fixes
Release and renew IP:
ipconfig /release
ipconfig /renew
Flush DNS cache:
ipconfig /flushdns
Reset TCP/IP stack (run as Administrator):
netsh winsock reset
netsh int ip reset
Reboot after running these commands.
Reset network adapter: Settings → Network & Internet → Advanced network settings → More network adapter options → right-click your WiFi adapter → Disable → wait 10 seconds → Enable.
Step 6: macOS Fixes
Renew DHCP lease: System Settings → Network → Wi-Fi → Details → TCP/IP → Renew DHCP Lease.
Flush DNS cache:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Delete WiFi preferences (advanced): Remove the file at /Library/Preferences/SystemConfiguration/com.apple.wifi.plist and reboot to force macOS to rebuild WiFi configuration from scratch.
Step 7: When to Call Your ISP
If all devices on your network have no internet access after a full modem/router reboot, the problem is almost certainly upstream of your equipment. Call your ISP and provide:
- Your account number
- The error lights showing on your modem (most modems have a 'DS/US' or 'Internet' indicator)
- The exact time the outage started
Many ISPs also have outage maps on their websites or apps where you can check for known service disruptions in your area before calling.
Frequently Asked Questions
#!/usr/bin/env bash
# ============================================================
# WiFi No-Internet Diagnostic Script
# Compatible with: macOS and Linux
# Run with: bash wifi_diag.sh
# ============================================================
echo "=== WiFi No-Internet Connection Diagnostics ==="
echo ""
# 1. Show current IP address and default gateway
echo "--- Network Interface Info ---"
if [[ "$(uname)" == "Darwin" ]]; then
ifconfig en0 | grep -E "inet |status"
GATEWAY=$(netstat -nr | grep default | awk '{print $2}' | head -1)
else
ip addr show | grep -E "inet |state"
GATEWAY=$(ip route | grep default | awk '{print $3}' | head -1)
fi
echo "Default Gateway: $GATEWAY"
echo ""
# 2. Ping the default gateway (local router)
echo "--- Pinging Default Gateway ($GATEWAY) ---"
ping -c 4 "$GATEWAY" 2>&1 || echo "FAIL: Cannot reach the local router — check IP assignment or WiFi association"
echo ""
# 3. Ping Google DNS by IP (bypasses DNS — tests raw routing)
echo "--- Pinging 8.8.8.8 (Google DNS by IP — bypasses DNS resolution) ---"
ping -c 4 8.8.8.8 2>&1 || echo "FAIL: Cannot reach internet IP — problem is at router or ISP level"
echo ""
# 4. DNS resolution test
echo "--- Testing DNS Resolution ---"
if command -v dig &> /dev/null; then
dig +short google.com @8.8.8.8 || echo "FAIL: DNS lookup failed via 8.8.8.8"
dig +short google.com || echo "FAIL: DNS lookup failed via system DNS"
elif command -v nslookup &> /dev/null; then
nslookup google.com 8.8.8.8 || echo "FAIL: DNS lookup failed via 8.8.8.8"
else
echo "dig/nslookup not found — install dnsutils (Linux) or Xcode CLI tools (macOS)"
fi
echo ""
# 5. HTTP connectivity test
echo "--- Testing HTTP Connectivity ---"
curl -s --max-time 5 http://captive.apple.com -o /dev/null -w "HTTP Status: %{http_code}\n" \
|| echo "FAIL: HTTP request timed out — no internet connectivity"
echo ""
# 6. Traceroute to show where packets drop
echo "--- Traceroute to 8.8.8.8 (first 10 hops) ---"
if [[ "$(uname)" == "Darwin" ]]; then
traceroute -m 10 8.8.8.8 2>&1
else
traceroute -m 10 8.8.8.8 2>&1 || tracepath -m 10 8.8.8.8 2>&1
fi
echo ""
# 7. Flush DNS cache
echo "--- Flushing DNS Cache ---"
if [[ "$(uname)" == "Darwin" ]]; then
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
echo "macOS DNS cache flushed"
elif command -v systemd-resolve &> /dev/null; then
sudo systemd-resolve --flush-caches
echo "systemd-resolved DNS cache flushed"
elif command -v nscd &> /dev/null; then
sudo service nscd restart
echo "nscd cache restarted"
else
echo "Manual DNS flush required — check your distro's DNS daemon"
fi
echo ""
# Windows users: Run these in an elevated Command Prompt or PowerShell:
# ipconfig /release
# ipconfig /renew
# ipconfig /flushdns
# netsh winsock reset
# netsh int ip reset
# Restart-NetAdapter -Name "Wi-Fi" (PowerShell)
echo "=== Diagnostics Complete ==="
echo "If gateway ping PASSED but 8.8.8.8 ping FAILED: reboot your router/modem or contact ISP."
echo "If 8.8.8.8 ping PASSED but DNS FAILED: change DNS to 8.8.8.8 in your network settings."
echo "If gateway ping FAILED: check DHCP — your device may have a 169.254.x.x APIPA address."Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, SREs, and network specialists with 10+ years of experience diagnosing connectivity, DNS, and infrastructure failures across enterprise and consumer environments. Our guides are tested against real device configurations and updated to reflect the latest OS versions, including iOS 17, macOS Sonoma, and Windows 11.
Sources
- https://support.apple.com/en-us/HT204051
- https://support.apple.com/guide/iphone/connect-to-the-internet-iph3dd5f213/ios
- https://support.microsoft.com/en-us/windows/fix-wi-fi-connection-issues-in-windows-9424a1f7-6a3b-65a6-4d78-7f07eee84d2c
- https://developers.cloudflare.com/1.1.1.1/setup/
- https://developers.google.com/speed/public-dns/docs/using
- https://stackoverflow.com/questions/tagged/wifi+networking
- https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml