Android WiFi Connected but No Internet — How to Fix It (Including the Captive Portal Trick Nobody Knows)

By Adhen Prasetiyo

Wednesday, February 18, 2026 • 10 min read

Android phone showing WiFi connected but no internet warning with exclamation mark

You’re connected to WiFi. The WiFi icon is there in the status bar. But there’s a tiny exclamation mark next to it, and nothing loads. No web pages, no apps, no messages.

You restart your phone. Same thing. You restart the router. Same thing. You forget the network and reconnect. Still “connected, no internet.”

Meanwhile, your laptop and everyone else’s phone works perfectly on the same WiFi. Just yours doesn’t.

Here’s what’s happening: Android has a hidden connectivity check that pings Google’s servers every time you connect to WiFi. If that ping fails — for any reason — Android slaps a “no internet” label on your connection, even if the internet is technically working.

How Android Decides “No Internet”

When your phone connects to a WiFi network, Android doesn’t just trust the connection. It immediately sends a request to connectivitycheck.gstatic.com — a Google server specifically designed for this purpose.

If that server responds, Android says: “OK, internet works.”

If it doesn’t respond, Android says: “WiFi connected, no internet” — and shows that exclamation mark.

This means there are situations where your internet is actually working but Android thinks it isn’t:

  • Your network’s firewall blocks Google’s connectivity check server
  • Your DNS server can’t resolve connectivitycheck.gstatic.com
  • Your corporate or school network routes traffic through a proxy that interferes with the check
  • The captive portal (hotel/airport WiFi login page) hasn’t been completed

Understanding this changes how you troubleshoot.

Fix 1: Forget the Network and Reconnect

Start with the basics — clear the saved connection data:

  1. Go to Settings → WiFi (or Settings → Connections → WiFi)
  2. Tap the network you’re connected to
  3. Tap Forget (or the trash/delete icon)
  4. Wait 10 seconds
  5. Tap the network again and enter the password

This forces your phone to negotiate a completely new connection with the router, getting a fresh IP address and DNS configuration.

Fix 2: Switch to Device MAC Address

Since Android 10, your phone generates a random MAC address for each WiFi network. This is great for privacy — it prevents networks from tracking your device across locations.

But some routers don’t like it. Older routers, corporate networks with MAC filtering, and some mesh WiFi systems expect to see a consistent MAC address. When the MAC changes (which happens with randomized mode), the router may block or restrict your connection.

How to switch to Device MAC:

  1. Go to Settings → WiFi
  2. Tap the gear icon (⚙) next to your connected network
  3. Look for Privacy or MAC address type
  4. Change from “Randomized MAC” to “Use device MAC” (or “Phone MAC”)
  5. Your phone will disconnect and reconnect automatically

Samsung: Settings → Connections → WiFi → tap network → Advanced → MAC address type

Pixel: Settings → Network & internet → WiFi → tap network → Privacy → Use device MAC

Xiaomi: Settings → WiFi → tap network → Privacy → Use device MAC

If the internet starts working after this change, the router was blocking your randomized address. You can leave it on Device MAC for this specific network — it only affects this one WiFi network, not all networks.

Fix 3: Check Your Date and Time

This sounds absurd, but wrong date and time settings can kill your internet.

Here’s why: almost every website and app uses HTTPS, which requires SSL certificates. SSL certificates have expiration dates. When your phone’s date is wrong — even by a day — the phone can’t validate certificates, HTTPS connections fail, and Android reports “no internet.”

This commonly happens after:

  • A factory reset (date resets to default)
  • Removing and reinserting the SIM card
  • Extended periods with the phone powered off
  • Manual time zone changes that went wrong

Fix:

  1. Go to Settings → General Management → Date and Time (or Settings → System → Date & Time)
  2. Enable “Automatic date and time”
  3. Enable “Automatic time zone”
  4. Restart your phone

If automatic date/time doesn’t work (some networks don’t provide this data), set it manually to the correct date, time, and time zone.

Fix 4: Change Your DNS

Your router’s default DNS server (usually provided by your ISP) might be slow, broken, or blocking certain domains. Switching to a public DNS server often fixes “no internet” issues instantly.

Option A: Change DNS in WiFi settings (per-network)

  1. Go to Settings → WiFi
  2. Long-press your connected network → Modify network (or tap the gear icon)
  3. Tap Advanced or IP Settings
  4. Change from DHCP to Static
  5. Set DNS 1: 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare)
  6. Set DNS 2: 8.8.4.4 (Google) or 1.0.0.1 (Cloudflare)
  7. Leave everything else as-is and save

Option B: Use Private DNS (applies to all networks — Android 9+)

  1. Go to Settings → Connections → More Connection Settings → Private DNS (path varies by manufacturer)
  2. Select “Private DNS provider hostname”
  3. Enter: dns.google or one.one.one.one
  4. Tap Save

Important: If Private DNS is already set to a custom provider and your internet doesn’t work, switch it back to “Automatic” first. A misconfigured Private DNS setting is a common cause of “connected but no internet” that nobody checks.

Fix 5: Complete the Captive Portal (Hotel/Airport WiFi)

On public WiFi networks (hotels, airports, cafes), you often need to accept terms or log in on a web page before getting internet access. This is called a captive portal.

Sometimes the portal page doesn’t pop up automatically. Here’s how to force it:

  1. Open your browser (Chrome)
  2. Type http://neverssl.com in the address bar (not https — the “http” is important)
  3. This should redirect you to the captive portal login page
  4. Accept terms / log in / enter a room number
  5. Internet should now work

Why neverssl.com? Modern browsers redirect everything to HTTPS. But captive portals can only intercept HTTP traffic. Visiting an HTTP-only site forces the captive portal to appear.

If the portal still doesn’t appear, try:

  • http://captive.apple.com — works on most networks
  • http://connectivitycheck.gstatic.com — Android’s own check URL

Fix 6: Reset Network Settings

If nothing above works, reset all network settings:

  1. Go to Settings → General Management → Reset → Reset Network Settings
  2. Tap Reset settings
  3. Enter your PIN to confirm
  4. Your phone will restart

What this resets:

  • All saved WiFi networks and passwords (you’ll need to re-enter them)
  • Bluetooth pairings
  • Cellular settings
  • VPN configurations

What it does NOT delete:

  • Apps, photos, messages, contacts — all personal data stays intact

After the reset, reconnect to your WiFi network with the password and test.

Fix 7: Disable VPN (If You Have One)

If you’re running a VPN app, it might be interfering with your connection. VPNs route all traffic through a remote server, and if that server is slow, unreachable, or misconfigured, Android reports “no internet.”

Quick test:

  1. Open your VPN app and disconnect
  2. Or go to Settings → Connections → More Connection Settings → VPN and toggle it off
  3. Test if internet works without VPN

If internet works without VPN, the issue is your VPN configuration, not your WiFi. Try connecting to a different VPN server or contact your VPN provider.

Fix 8: Check Router-Side Issues

Sometimes the problem isn’t your phone at all — it’s the router:

  • Restart the router: Unplug it from power, wait 30 seconds, plug it back in. Wait 2-3 minutes for it to fully boot
  • Too many connected devices: Some consumer routers struggle with more than 15-20 connected devices. Disconnect devices you’re not using
  • Router’s DHCP pool is full: Your router assigns IP addresses from a limited pool. If all addresses are taken, new devices can’t get one. Restarting the router usually fixes this
  • Router firmware update: Check your router’s admin panel for firmware updates. Old firmware can cause compatibility issues with newer phones

How to check if it’s the router: Try connecting your phone to a mobile hotspot from another phone. If internet works on the hotspot, your phone is fine — the issue is your WiFi network or router.

The Captive Portal Deep Fix (Advanced)

If you’re on a corporate, school, or restricted network that blocks Google’s connectivitycheck.gstatic.com, Android will always show “no internet” on that network — even if internet actually works.

Developer Options workaround (Android 7+):

  1. Enable Developer Options (Settings → About Phone → tap Build Number 7 times)
  2. Open a terminal emulator app or connect via ADB
  3. Run: settings put global captive_portal_detection_enabled 0

This disables Android’s captive portal detection entirely. Your phone will no longer check Google’s servers and won’t show the “no internet” warning.

Warning: Disabling this also means captive portal login pages (hotel/airport WiFi) won’t automatically pop up. You’ll need to manually navigate to the portal URL.

To re-enable: settings put global captive_portal_detection_enabled 1

Quick Checklist

When you see “WiFi connected, no internet,” try these in order:

  1. ✅ Toggle WiFi off and back on
  2. ✅ Forget the network and reconnect
  3. ✅ Check date and time (enable automatic)
  4. ✅ Switch to Device MAC address
  5. ✅ Change DNS to 8.8.8.8
  6. ✅ Check if Private DNS is misconfigured
  7. ✅ Disable VPN
  8. ✅ Test on a different network (mobile hotspot)
  9. ✅ Reset network settings
  10. ✅ Restart router

If it works on a mobile hotspot but not on your WiFi → router issue.

If it doesn’t work on any network → phone issue (try the fixes above more carefully, or check for system updates).

If You Found This Guide Helpful

Check out our other troubleshooting resources:

Frequently Asked Questions

Why does my phone show “no internet” but apps still work?

Sometimes Android’s connectivity check fails but actual internet traffic works fine. This happens when the network blocks Google’s check server but doesn’t block general internet traffic. Apps that maintain their own connections (like WhatsApp or Spotify) may continue working while the browser shows an error.

I see “Internet may not be available” — is that different from “no internet”?

Yes. “Internet may not be available” means Android detected the connectivity check failed but isn’t 100% certain. You’ll see this with slow or unstable connections. “Connected, no internet” means the check definitively failed. The troubleshooting steps are the same for both.

Will these fixes work for mobile data (not WiFi) issues too?

Some fixes overlap — like changing Private DNS, checking date/time, and disabling VPN. But if mobile data specifically isn’t working, also check: that your data plan is active, that mobile data is turned on in settings, and that you haven’t exceeded your data cap. Also try toggling Airplane Mode on and off to reset the cellular connection.

My phone connects to WiFi fine at home but not at work/school. Why?

Corporate and school networks often use enterprise authentication (802.1X), MAC address filtering, or proxy servers. Contact your IT department — you may need specific WiFi credentials, a certificate installed on your phone, or your device’s MAC address whitelisted. Also try switching from randomized to device MAC address as described in Fix 2.

Last updated: February 2026 | Tested on Android 14, Android 15 — Samsung Galaxy, Pixel, Xiaomi, OnePlus

Step-by-Step Guide

1

Forget and reconnect to the WiFi network

Go to Settings then WiFi, tap the connected network, and select Forget. Wait 10 seconds, then reconnect by entering the password again. This clears any corrupted connection data.

2

Switch from randomized to device MAC address

Go to Settings then WiFi, tap the gear icon next to your network, find Privacy or MAC address type, and change it from Randomized MAC to Device MAC. Some routers block randomized addresses.

3

Verify date and time are correct

Go to Settings then General Management then Date and Time and enable Automatic date and time. Incorrect date or time causes SSL certificate validation to fail, which Android reports as no internet.

4

Change DNS to Google or Cloudflare

Text: Go to Settings then Connections then WiFi, tap your network, then Advanced, and change DNS to 8.8.8.8. Alternatively, go to Settings then Connections then More connection settings then Private DNS and set it to dns.google or one.one.one.one.

5

Reset network settings

Go to Settings then General Management then Reset then Reset Network Settings. This clears all saved WiFi networks, Bluetooth pairings, and cellular settings and often fixes persistent connectivity issues.

Frequently Asked Questions

Q1: Why does my Android show WiFi connected but no internet?
A1: Android tests internet connectivity by pinging Google's servers at connectivitycheck.gstatic.com. If this ping fails — because the server is blocked, DNS is misconfigured, or the router has no actual internet — Android marks the connection as no internet even though WiFi itself is working fine.
Q2: What is a captive portal and why does it affect my WiFi?
A2: A captive portal is the login page you see on hotel, airport, or coffee shop WiFi networks. Android detects these by checking connectivity to Google's servers. If the check fails or the portal page does not load properly, Android flags the entire connection as having no internet.
Q3: Will resetting network settings delete my data?
A3: No. Reset Network Settings only clears saved WiFi passwords, Bluetooth pairings, and cellular settings. It does not delete apps, photos, messages, or any personal data. You will need to re-enter WiFi passwords after the reset.
Q4: My WiFi works on other devices but not on my Android phone. Why?
A4: This is usually caused by your phone's randomized MAC address being blocked by the router, a Private DNS setting conflict, or a corrupted network configuration on your phone. Try switching to your device MAC address and resetting network settings.
Adhen Prasetiyo

Research Bug bounty at javahack team

Research Bug bounty Profesional

Web Development Research Bug Hunter
View all articles →