Back to Blog
captive portalpublic wifitroubleshootinghotel wifi

How to Fix Captive Portal Not Loading on WiFi: Hotels, Airports, and Coffee Shops

Joined the hotel or airport WiFi but the login page never appeared? Here’s every reason a captive portal fails to load — and the exact steps to force it open on any device.

How to Fix Captive Portal Not Loading on WiFi: Hotels, Airports, and Coffee Shops
7 min read

You connect to the coffee shop, hotel, or airport WiFi, open your browser, and… nothing. The login page that’s supposed to appear — called a captive portal — never shows up. Your device says it’s connected, but you can’t load a single website. This is one of the most common public WiFi problems, and it almost always has a quick fix once you know why it happens.

What Is a Captive Portal?

A captive portal is a web page that a public WiFi network forces you to visit before granting full internet access. The network intercepts your first HTTP request and redirects you to a login or terms-of-service page. Once you accept the terms, click a button, or enter a code, the network “uncaps” your connection and you can browse normally.

The system relies on a chain of small technical events: your device gets an IP address via DHCP, your OS sends a probe request to a known URL, the network intercepts it and returns a redirect, and your device detects the redirect and pops up a mini-browser window. Any break in that chain means the portal never appears.

Why the Captive Portal Might Not Load

There are six common culprits:

  • Your OS missed the detection probe. Windows, macOS, iOS, and Android all send automatic “connectivity check” requests when you join a network. If that probe fires before the router is ready, the redirect never lands and no portal window opens.
  • A VPN is blocking the redirect. VPN apps intercept all outgoing traffic. The captive portal redirect is designed for plain HTTP traffic, and a running VPN tunnels or drops it before it can trigger the pop-up.
  • Custom DNS is set on your device. Captive portals use DNS hijacking to redirect your requests. If you have a hardcoded DNS server (like Google’s 8.8.8.8 or Cloudflare’s 1.1.1.1), your DNS queries bypass the router’s interception and the portal never loads.
  • The browser cache has a stale redirect. If you visited that network before, your browser may have cached the redirect destination or the portal URL itself, causing it to serve an expired page instead of the live portal.
  • HTTPS-only mode or browser extensions are interfering. Ad blockers, script blockers, and privacy extensions can prevent the portal page from rendering. Browsers with forced HTTPS may also refuse to follow an HTTP redirect that the portal requires.
  • The router hasn’t finished assigning your IP. In busy venues, the DHCP server can take a few seconds longer than usual to hand out an address. If you open a browser immediately, you may not yet have a routable IP and the portal has nothing to redirect.

How to Force a Captive Portal to Open

Step 1: Wait 10 Seconds, Then Open a Browser

After joining the network, give your device 10–15 seconds before opening a browser. This allows DHCP to complete and the OS connectivity probe to fire properly. Many captive portal failures resolve on their own with a brief pause.

Step 2: Turn Off Your VPN

If you have a VPN app installed — including built-in system VPNs on iOS and Android — disable it completely before joining the network. On iPhone, go to Settings › VPN and toggle it off. On Android, go to Settings › Network & internet › VPN. On a Mac or Windows PC, disconnect from the VPN client. Once the portal loads and you’re through, you can re-enable the VPN.

Step 3: Remove Custom DNS Servers

On iPhone or iPad, go to Settings › WiFi, tap the (i) next to the network, scroll to DNS, and switch from Manual to Automatic. On Android, go to Settings › Network & internet › Private DNS and set it to Off or Automatic. On a Mac, open System Settings › Network › WiFi › Details › DNS and remove any manually entered servers. On Windows 11, go to Settings › Network & internet › WiFi › [network name] › DNS server assignment and set it to Automatic.

Step 4: Navigate to an HTTP Page to Trigger the Redirect

Most modern websites use HTTPS, and captive portals intercept HTTP (unencrypted) traffic to issue their redirect. If your browser goes straight to HTTPS, the portal may not get a chance to intercept. Try typing one of these plain-HTTP addresses directly into your browser’s address bar (do not search for them — type them in):

  • http://neverssl.com — a site intentionally built to stay on HTTP, perfect for triggering captive portals
  • http://example.com — a simple IANA page that many captive portal systems redirect cleanly
  • http://captive.apple.com/hotspot-detect.html — Apple’s own captive portal detection URL; visiting it in Safari often reopens the portal login window

Step 5: Forget the Network and Reconnect

If the portal still hasn’t appeared, forget the network and rejoin. On iPhone, go to Settings › WiFi, tap the (i) next to the network, and choose Forget This Network. On Android, long-press the network and choose Forget. On Mac or Windows, remove the saved network from your WiFi settings. Reconnect and wait 10 seconds before opening a browser. This forces a fresh DHCP handshake and a new OS probe, which resets the redirect chain from scratch.

Step 6: Clear Your Browser Cache

A cached redirect or expired portal page can prevent the login from loading even after you reconnect. In Chrome, press Ctrl+Shift+Delete (Windows) or Cmd+Shift+Delete (Mac) and clear cached images and files for the past hour. In Safari on iPhone, go to Settings › Safari › Clear History and Website Data. Then try navigating to http://neverssl.com again.

Step 7: Try a Different Browser

Browser extensions (ad blockers, privacy tools, HTTPS Everywhere) can silently kill the portal redirect. Open a browser where you have no extensions installed — on most systems, a fresh incognito/private window disables extensions by default. If the portal loads in a clean browser but not your usual one, disable extensions one at a time to find the culprit.

Step 8: Restart Your Device’s Network Stack

Toggle airplane mode on for 10 seconds and then off (on mobile), or disable and re-enable the WiFi adapter (on Windows, right-click the adapter in Device Manager and choose Disable, wait five seconds, then Enable). This clears the network state without a full reboot and often resolves stuck DHCP leases.

Platform-Specific Tips

iPhone and iPad (iOS / iPadOS)

Apple devices have built-in captive portal detection that launches a mini “Captive Network Assistant” window. If this window is closed or never appears, go to Settings › WiFi, tap the (i) next to the network, and choose Forget This Network. Reconnect, and the assistant should reappear. If not, open Safari and go to http://captive.apple.com/hotspot-detect.html — this is the same URL the OS probes and it frequently relaunches the assistant. Make sure Private Relay (iCloud+) is turned off under Settings › Apple ID › iCloud › Private Relay, as it routes traffic in a way that can interfere with captive portal detection.

Android

Android probes http://connectivitycheck.gstatic.com/generate_204 when you join a network. If Private DNS is set to a provider like dns.google or one.one.one.one, that DNS is used for the probe itself, but the portal’s DNS hijacking may still work — the issue is more often a timing or VPN problem on Android. Set Private DNS to Off and disable any VPN, then reconnect.

Windows 11

Windows checks http://www.msftconnecttest.com/connecttest.txt and should open a notification that says “Sign in to network” in the system tray. If no notification appears, open a browser and navigate to http://neverssl.com. If that still fails, open Settings › Network & internet › WiFi, click the network, and confirm the DNS is set to Automatic. Third-party firewalls and security suites (Norton, McAfee, Bitdefender) can block the redirect — temporarily disable the firewall to test.

macOS

macOS probes http://captive.apple.com/hotspot-detect.html and displays a Captive Network Assistant dialog. If the dialog is blocked, go to System Settings › Network › WiFi, click Details on the network, and remove any DNS servers under the DNS tab. Then turn WiFi off and back on. If Little Snitch, Lulu, or another firewall is installed, check whether it is blocking captive portal detection — you may need to allow CNA.app or captive network requests in the firewall rules.

When the Portal Is Genuinely Broken (Venue’s Problem)

Occasionally the captive portal itself is down — the venue’s router is misconfigured, the portal server is offline, or the SSL certificate on the portal has expired. Signs that the problem is on the venue’s end:

  • You see an SSL certificate error on the portal page itself
  • Multiple different devices all fail to get through
  • Other guests in the same location also can’t connect
  • The redirect loads but the page returns a server error (500, 503)

In this case, inform the venue staff and ask them to restart the router or contact their network provider. There is nothing you can do on your end to fix a broken portal server.

Quick Checklist

  1. Wait 10–15 seconds after connecting before opening a browser
  2. Disable any active VPN
  3. Set DNS to Automatic (remove custom DNS servers)
  4. Navigate to http://neverssl.com in a browser
  5. Forget the network and reconnect
  6. Clear your browser cache and try a clean (extension-free) browser
  7. Toggle airplane mode or disable/re-enable the WiFi adapter
  8. On iPhone: turn off iCloud Private Relay; on Android: disable Private DNS

Once you’re through the portal and connected, it’s worth running a quick speed test to see what speeds you’re actually getting on the public network. Public WiFi at hotels and airports is often congested — if speeds are very low, a mobile hotspot or a VPN with split tunneling may give you better performance for work tasks.

Related Articles