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 reset, and router fixes that actually work.
- Root Cause 1: IP address conflict or DHCP lease failure — your device received an invalid or duplicate IP from the router, blocking internet routing even though WiFi is connected.
- Root Cause 2: DNS misconfiguration or DNS server outage — your device cannot resolve domain names, so pages fail to load even though the network link itself is active.
- Root Cause 3: Router or modem firmware glitch, captive portal not dismissed, or ISP-side outage — physical connectivity exists but upstream routing is broken.
- Quick Fix Summary: Restart the router and device, forget and rejoin the WiFi network, flush DNS cache, switch to a public DNS (8.8.8.8 or 1.1.1.1), and release/renew your IP lease. If problems persist, reset network settings on mobile or run the Windows Network Diagnostics tool.
| Method | When to Use | Time | Risk |
|---|---|---|---|
| Restart Router + Device | First step for any 'no internet' issue on any platform | 2-5 min | None |
| Forget & Rejoin WiFi Network | IP conflict, authentication error, or stale network profile | 1-2 min | None — re-enter password |
| Flush DNS Cache (Windows/Mac) | Pages not loading but ping to IP addresses works | < 1 min | None |
| Change DNS to 8.8.8.8 / 1.1.1.1 | ISP DNS server down or returning wrong results | 2-3 min | Very low |
| Release & Renew IP (ipconfig/ifconfig) | DHCP conflict, 169.254.x.x self-assigned IP | 1-2 min | None |
| Reset Network Settings (iPhone/iPad) | Persistent failures after all other steps on iOS | 3 min | Erases all saved WiFi passwords |
| Update Router Firmware | Router firmware bug causing incorrect NAT or DHCP | 10-20 min | Low — router reboots |
| Factory Reset Router | Last resort — no other fix restores internet | 20-30 min | High — all settings erased |
| Contact ISP | Outage confirmed on ISP status page or all devices affected | Varies | None |
Understanding 'Connected to WiFi But No Internet Connection'
This error describes a scenario where your device successfully associates with a WiFi access point — the signal bars are full, the network name appears in your settings — but you cannot load any web pages, send messages, or reach online services. The operating system often surfaces this as a yellow exclamation mark on Windows, 'No Internet Connection' under the network name on Android, or simply a page that refuses to load on iOS.
The key insight is that WiFi connectivity and internet connectivity are two separate things. WiFi is a Layer 2 (data link) connection between your device and a local router. Internet access requires a correctly configured Layer 3 (network/IP) path all the way from your device through the router, through the modem, through your ISP's network, and out to the public internet. Any break in that chain produces this symptom.
Step 1: Identify the Scope of the Problem
Before changing anything, determine whether the issue is:
- Device-specific: Only one phone or laptop is affected while others work fine.
- Network-wide: All devices on the same WiFi show no internet.
- ISP-level outage: Your router admin page loads but nothing external does.
Test on Windows: Open Command Prompt and run:
ping 8.8.8.8
ping google.com
If ping 8.8.8.8 succeeds but ping google.com fails, your DNS is broken. If both fail, your routing or ISP link is down.
Test on macOS: Open Terminal:
ping -c 4 8.8.8.8
nslookup google.com
Test on iPhone/iPad: Go to Settings > WiFi > tap the (i) next to your network. Check the IP Address field. If it reads 169.254.x.x, your device failed to get a valid IP from the router (APIPA self-assigned address) — a clear sign of a DHCP problem.
Step 2: Restart the Router and Your Device
The single most effective first step. Power-cycle your modem and router by unplugging them from the wall for 30 seconds, then plug the modem in first, wait 60 seconds, then plug the router in. Wait another 60 seconds before reconnecting your device.
On iPhone or iPad: Hold the side button + volume button, drag to power off, wait 30 seconds, power back on. On Windows: Start > Power > Restart (not Shut Down, which may leave network drivers in a bad state). On macOS: Apple menu > Restart.
Step 3: Forget and Rejoin the WiFi Network
Stale DHCP leases and corrupted network profiles are a common cause of persistent 'no internet' issues even after reboots.
On iPhone/iPad (iOS 16+):
- Settings > WiFi
- Tap the (i) icon next to your network name
- Tap "Forget This Network"
- Confirm, then reconnect by tapping the network and entering your password
On macOS:
- System Settings > WiFi > Details next to the network
- Click "Forget This Network"
- Reconnect manually
On Windows 11:
- Settings > Network & Internet > WiFi > Manage known networks
- Click your network > Forget
- Reconnect from the taskbar WiFi menu
Step 4: Check and Fix Your IP Address
If your IP address is in the 169.254.0.0/16 range, DHCP failed. Release and renew:
Windows (Command Prompt as Administrator):
ipconfig /release
ipconfig /renew
ipconfig /flushdns
macOS (Terminal):
sudo ipconfig set en0 DHCP
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
iPhone/iPad — Renew DHCP Lease:
- Settings > WiFi > tap (i) next to your network
- Scroll to IPv4 Address section
- Tap "Renew Lease"
Step 5: Change Your DNS Servers
A failing or misconfigured DNS server means your device cannot convert domain names like google.com into IP addresses. Switching to a reliable public DNS server often instantly restores internet access.
On iPhone/iPad:
- Settings > WiFi > tap (i) next to your network
- Scroll to DNS section > tap "Configure DNS"
- Switch from Automatic to Manual
- Delete existing servers and add:
8.8.8.8and1.1.1.1 - Tap Save
On macOS:
- System Settings > WiFi > Details > DNS
- Click (+) and add
8.8.8.8and1.1.1.1 - Click OK
On Windows:
- Control Panel > Network and Sharing Center > Change adapter settings
- Right-click your WiFi adapter > Properties
- Double-click "Internet Protocol Version 4 (TCP/IPv4)"
- Select "Use the following DNS server addresses"
- Preferred:
8.8.8.8, Alternate:1.1.1.1 - Click OK
Step 6: Reset Network Settings on iPhone or iPad
If all else fails on iOS devices, a full network settings reset wipes all saved WiFi passwords, VPN configurations, and cellular settings — restoring networking to factory defaults.
iOS 16 and later:
- Settings > General > Transfer or Reset iPhone
- Reset > Reset Network Settings
- Enter your device passcode and confirm
Warning: You will need to re-enter passwords for all saved WiFi networks after this reset.
Step 7: Check for Captive Portals
Hotels, airports, coffee shops, and corporate networks often use captive portals that require you to log in or accept terms before granting full internet access. iOS and Android should automatically detect these and prompt you, but this detection sometimes fails.
Open Safari or Chrome and navigate to http://neverssl.com (a plain HTTP site). If a captive portal is active, it will redirect you to the login page. Accept the terms and internet should work.
Step 8: Advanced Router-Level Diagnostics
If multiple devices are affected, the issue is upstream from your devices. Log into your router admin panel (commonly http://192.168.1.1 or http://192.168.0.1, credentials on the router sticker) and check:
- WAN Status: Should show a public IP address. If it shows
0.0.0.0or is disconnected, your ISP link is down. - DHCP Server: Make sure it is enabled and has available IP leases.
- DNS Settings: Verify the router has valid DNS servers configured on its WAN interface.
- MTU Settings: For PPPoE connections, try setting MTU to 1452.
If the WAN shows no IP, contact your ISP. Check their status page first (e.g., downdetector.com) to rule out a widespread outage.
Frequently Asked Questions
#!/usr/bin/env bash
# ============================================================
# WiFi No-Internet Diagnostic & Fix Script
# Works on: macOS and Linux (run with sudo on Linux)
# For Windows, see the PowerShell commands in the comments
# ============================================================
echo "=== WiFi No-Internet Diagnostic Tool ==="
echo ""
# --- Step 1: Check current IP address ---
echo "[1] Current IP Configuration:"
if [[ "$(uname)" == "Darwin" ]]; then
# macOS
ifconfig en0 | grep -E 'inet |status'
else
# Linux
ip addr show | grep -E 'inet |state'
fi
echo ""
# --- Step 2: Check Default Gateway ---
echo "[2] Default Gateway:"
if [[ "$(uname)" == "Darwin" ]]; then
netstat -nr | grep default | head -3
else
ip route | grep default
fi
echo ""
# --- Step 3: Ping the gateway ---
GATEWAY=$(if [[ "$(uname)" == "Darwin" ]]; then netstat -nr | grep default | awk '{print $2}' | head -1; else ip route | grep default | awk '{print $3}'; fi)
echo "[3] Pinging gateway ($GATEWAY):"
ping -c 4 "$GATEWAY"
echo ""
# --- Step 4: Ping a public IP (bypasses DNS) ---
echo "[4] Pinging 8.8.8.8 (Google DNS - no DNS required):"
ping -c 4 8.8.8.8
echo ""
# --- Step 5: DNS resolution test ---
echo "[5] DNS Resolution Test for google.com:"
nslookup google.com
echo ""
# --- Step 6: Trace the route to internet ---
echo "[6] Traceroute to 8.8.8.8 (first 10 hops):"
traceroute -m 10 8.8.8.8 2>/dev/null || tracepath -m 10 8.8.8.8
echo ""
# --- Step 7: Flush DNS cache ---
echo "[7] Flushing DNS Cache..."
if [[ "$(uname)" == "Darwin" ]]; then
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
echo "macOS DNS cache flushed."
else
# Linux with systemd-resolved
sudo systemd-resolve --flush-caches 2>/dev/null || sudo /etc/init.d/nscd restart 2>/dev/null
echo "Linux DNS cache flushed."
fi
echo ""
# --- Step 8: Renew DHCP lease (macOS) ---
if [[ "$(uname)" == "Darwin" ]]; then
echo "[8] Renewing DHCP lease on en0..."
sudo ipconfig set en0 DHCP
sleep 3
echo "New IP: $(ipconfig getifaddr en0)"
echo ""
fi
# --- Step 9: Test with manual DNS ---
echo "[9] Testing DNS with Google's server (8.8.8.8):"
nslookup google.com 8.8.8.8
echo ""
echo "=== Diagnosis Complete ==="
echo ""
echo "Interpretation Guide:"
echo " - If Step 3 (gateway ping) FAILS: Router/WiFi issue. Restart router."
echo " - If Step 4 (8.8.8.8 ping) FAILS but Step 3 works: ISP or routing issue."
echo " - If Step 5 (nslookup) FAILS but Step 4 works: DNS is broken. Change to 8.8.8.8."
echo " - If Step 9 works but Step 5 fails: Your ISP DNS is down. Use 8.8.8.8 permanently."
echo ""
# ============================================================
# WINDOWS EQUIVALENT COMMANDS (run in elevated PowerShell)
# ============================================================
# ipconfig /all # Check IP / gateway
# ping 192.168.1.1 # Ping your gateway
# ping 8.8.8.8 # Test internet routing
# nslookup google.com # Test DNS
# ipconfig /release # Release IP lease
# ipconfig /renew # Request new IP
# ipconfig /flushdns # Clear DNS cache
# netsh winsock reset # Reset Winsock
# netsh int ip reset # Reset TCP/IP stack
# netsh interface ipv4 set dns "Wi-Fi" static 8.8.8.8 # Set DNS
# Restart-NetAdapter -Name "Wi-Fi" # Restart adapter
# ============================================================Error Medic Editorial
The Error Medic Editorial team is composed of senior DevOps engineers, network administrators, and SRE specialists with 10+ years of experience diagnosing infrastructure, connectivity, and platform issues across enterprise and consumer environments. Our guides are tested on real hardware and validated against official documentation from Apple, Microsoft, Google, and major ISPs.
Sources
- https://support.apple.com/en-us/111786
- https://support.microsoft.com/en-us/windows/fix-wi-fi-connection-issues-in-windows-9424a1f7-6a3b-65a6-4d78-7f07eee84d2c
- https://support.google.com/pixelphone/answer/2819519
- https://developers.cloudflare.com/1.1.1.1/setup/
- https://superuser.com/questions/1442730/connected-to-wifi-but-no-internet-access-windows-10