Skip to main content
Guides Last updated: October 2026 9 min read

Captive portal not showing? Fixes for the WiFi login page

C
CaptiFi Editorial Team
CaptiFi · October 2026
Captive portal not showing? Fixes for the WiFi login page
http://
Only plain HTTP requests can be redirected to the portal
4 checks
Apple, Android, Windows and Firefox each test a different address
0
Test addresses that belong in your walled garden
2 phones
An iPhone and an Android, mobile data off, after every change

A guest tells the bar staff the WiFi does not work. Their phone has joined the network and shows full bars, and nothing loads. In most cases like this the captive portal never appeared, so the phone is sitting in the walled garden waiting for a sign-in nobody asked it for.

This guide is for venue owners and the people who set up their WiFi. It works through the causes in the order worth checking, with the setting to look at for each. What is a captive portal? explains the mechanism in full: the phone sends a plain HTTP test request as it joins, the network redirects that request, and the phone opens the sign-in page. Each fault below breaks one link in that chain.

If you are a guest trying to get online

If you are sitting in a cafe or hotel with a phone that has joined the WiFi and will not load anything, try these in order.

  1. Open your browser and go to http://neverssl.com. It never uses HTTPS, so the network can swap it for the login page.
  2. Forget the network in your WiFi settings and join it again, so the phone runs its automatic check from scratch.
  3. Pause any VPN or ad blocker until you have signed in, then switch it back on.
  4. On an iPhone, if it says the network is not compatible with Private Relay, go to Settings, Wi-Fi, tap the More Info button next to the network and turn off Limit IP Address Tracking for that network, as Apple's Private Relay guide describes. If you dismissed the login screen with Without Internet, forget the network and join it again to bring the Welcome screen back.
  5. On an Android phone, if the network details say "Private DNS server cannot be accessed", the WiFi is blocking the encrypted DNS service your phone is set to use. Set Private DNS to Automatic in your network settings while you use this network.
  6. If none of that works, tell the staff. The fault is probably in the venue's network settings, and the rest of this guide is for whoever looks after them.

Start with who it fails for

Before changing any settings, find out how widespread the problem is. The pattern of failures points at the cause faster than any single test.

What you see Most likely cause Where to look
No device ever sees the pageThe portal address, the controller's portal settings or the walled gardenMissing hosts, then your hardware's setup guide
iPhones fail and Android phones work, or the reverseOne platform's test address is in the walled gardenTest address allowed
One guest fails and everyone else is fineA VPN, a dismissed window or that guest's browserVPN and dismissed window
The window opens but stays blank or spinsA host the page loads from is blockedMissing hosts
The page submits and nothing loads afterwardsThe hand-off back to the networkHand-off
Guests get online, then drop after a few minutesA controller timeout shorter than your sessionHand-off
Smart TVs, consoles or card terminals will not connectThe device has no browser to show the pageDevices without a browser

If the fault started after a change, look at that change first. The walled garden and the portal address are the settings most often edited by mistake.

The guest opened an HTTPS site first

A network can only redirect a request it can read. A plain HTTP request is readable, so the gateway can answer it with the portal. An HTTPS request is encrypted and checked against the site's certificate, so a gateway that answers in the site's place produces a certificate warning, and sites that use HSTS refuse to load over plain HTTP at all. Nearly every home page, search engine and app now uses HTTPS.

Usually this does not matter, because the phone's own test request is plain HTTP and opens the portal before the guest has typed anything. It matters when that automatic check has been missed or blocked for one of the reasons below and the guest then opens a browser. They see a privacy warning, a page that cannot be reached, or a spinner, and decide the WiFi is broken.

The guest's fix is to open an address that starts with plain http://. http://neverssl.com is built for this: it never uses HTTPS, so the network can redirect it to the portal. Printing that address under the network name on the table card saves staff from explaining it. The network's fix is whichever cause below stopped the automatic check.

The walled garden lets the test address through

The walled garden is the list of hosts a guest can reach before signing in. It should hold the portal's own address and the hosts the sign-in page loads from, and nothing else. The mistake that hides the portal is adding an operating system's test address to it, often while chasing a different fault, or adding a whole domain such as *.apple.com, *.gstatic.com or *.google.com because one file on the page came from there.

When a phone's test request reaches the real server, it gets the reply it expects and decides the network is open. No sign-in window opens, and the guest is left in the walled garden with no internet and no portal. The failure is usually limited to one platform: iPhones stop seeing the portal after someone allows captive.apple.com or a broad Apple domain, and Android phones after connectivitycheck.gstatic.com or a broad Google domain goes in.

Platform Test host Keep out of the walled garden
iPhone, iPad and Maccaptive.apple.comcaptive.apple.com and any wildcard that covers it, such as *.apple.com
Android and ChromeOSconnectivitycheck.gstatic.com, plus www.google.com over HTTPSBoth hosts, and wildcards such as *.gstatic.com or *.google.com
Windows 10 and 11www.msftconnecttest.comwww.msftconnecttest.com and *.msftconnecttest.com
Firefoxfirefox-portal-detection.com (detectportal.firefox.com before Firefox 155)Both hosts, and *.firefox.com

Do not add these test hosts to the walled garden to make the check pass: a check that passes before sign-in is what stops the login window from opening. Google Fonts files come from fonts.gstatic.com, which is why a broad *.gstatic.com entry turns up so often. CaptiFi's sign-in page loads its fonts from fonts.googleapis.com and fonts.gstatic.com, so add those two by name, remove the test hosts and any wildcard that covers them, and test again with a phone that has never joined the network.

The walled garden is missing a host the page needs

The opposite fault shows as a sign-in window that opens and then stays blank, spins, or reports that the page cannot be reached. The redirect worked, but the page itself, or a file it loads, is blocked because its host is not in the walled garden.

Every external portal publishes the hosts it needs, and they vary by hardware. On a FortiGate network, CaptiFi's list is app.captifi.io, captifi.io and *.captifi.io, plus fonts.googleapis.com and fonts.gstatic.com for the page's fonts; leave the font hosts out and the page can load half-broken, or not at all on some iPhones. UniFi calls the same list Pre-Authorization Access, Meraki calls it the walled garden and FortiGate calls it exempt destinations. The exact entries for each system are in its setup guide, linked from the hardware page. A portal that takes card payments also needs the payment provider's hosts, which the provider documents.

A VPN or content filter starts first

When one guest fails and everyone else is fine, look at that guest's phone. An always-on VPN tries to connect the moment the phone joins the WiFi, before the portal has let it through, so the VPN cannot reach its server and the phone's traffic goes nowhere. Ad blockers and content filters that run as a local VPN on the phone behave the same way.

The fix is on the guest's side: pause the VPN or filter, sign in, then switch it back on. On the network side, check that guests can make DNS lookups before signing in, using the DNS server your network hands out, so the portal's address can be found.

The guest dismissed the sign-in window

The sign-in window is easy to close by accident. On an iPhone or iPad, one of the choices for leaving it is Without Internet, which closes the window, keeps the phone joined to the WiFi with no internet access, and turns off Auto-Login for that network. Apple's support article on captive Wi-Fi networks says that with Auto-Login off, the Welcome screen appears the next time the phone connects, so leave the network and join it again, or forget it and rejoin, to bring the window back.

On Android, the sign-in notification can be swiped away; tapping the network name in the WiFi settings usually reopens the sign-in page. On a Windows laptop, the browser window the system opened may have been closed, and opening http://neverssl.com in any browser triggers the redirect again.

The device was let through before

Sometimes nothing is wrong. A portal that recognises a returning device lets it straight onto the internet without showing the page again, which CaptiFi does by design, and a device still inside its session will not see the page either. When you are testing, that means your own phone may never show the portal after the first sign-in. Forgetting the network does not reset it on an iPhone: Apple says the phone keeps the same private address if it was last made to forget that network less than 24 hours earlier (two weeks before iOS 18). Test with a phone that has never joined the network, or wait for the session to end.

Phone privacy settings can cause the reverse. Phones give each WiFi network a private MAC address in place of the hardware one. Android keeps that address for the network, but Apple's security guide lists open networks, Enhanced Open and captive portals among the connections where an iPhone uses a rotating address by default, and its guide to private Wi-Fi addresses says that address changes every two weeks. On a guest network with a portal, a regular's iPhone can therefore look like a new device every fortnight and be asked to sign in again. The MAC address randomisation entry explains how each system behaves.

The page loads, but the guest never gets online

When guests can see and submit the page but stay offline afterwards, the portal is working and the hand-off back to the network is not. The portal has to tell the controller or gateway to let the device through, and the method depends on the hardware.

Hand-off Used by (with CaptiFi) What to check
Controller APIUniFi, TP-Link OmadaThe API key or operator account still exists and has the right access, and the portal can reach the controller (CaptiFi connects to UniFi consoles from 46.62.168.7)
RADIUSFortiGate, Aruba Instant OnThe shared secret matches exactly, the RADIUS server is set on the guest network, and outbound UDP 1812 is open
Grant URLCisco MerakiThe splash page is set to click-through with the custom splash URL, and the walled garden entries are complete

Check for a shared secret pasted with a stray space, a firewall rule blocking outbound UDP 1812, and an API key regenerated on the controller after setup. If guests get online and then drop after a few minutes, the controller's own timeout is shorter than the session you set: FortiGate's default idle timeout, for example, is five minutes, and the FortiGate guide shows how to raise it.

Devices that cannot show a sign-in page

Smart TVs, streaming sticks, printers and card terminals often have no browser that can display a portal. On a portal network they join, fail the connectivity check, and either stay offline or show a vague network error. Put these devices on the staff network, or add their MAC addresses to a list of devices allowed through without the portal. On CaptiFi, venues on CaptiFi access points or a UniFi controller add the device under My Locations, Connection status, Pre-authorized devices, and it skips the sign-in page from then on. Most other business controllers have a similar list, under a different name on each. The guide to Chromecast and smart TVs on guest WiFi covers finding the address and the casting problem that follows.

A test routine after every change

Run this after every change to the network or the portal. It takes a few minutes.

  1. Use a phone that has never joined the guest network, so it behaves like a first-time guest; forgetting the network is not enough on an iPhone, as the section on devices let through before explains.
  2. Switch off mobile data, so nothing loads over 4G or 5G and hides the fault.
  3. Join the guest network and wait ten seconds without opening anything.
  4. Check that the window opens by itself, the page loads fully and the form submits.
  5. Open an ordinary HTTPS site to confirm the internet works.
  6. Repeat on the other platform: at least one iPhone and one Android phone, plus a Windows laptop if guests work at your venue.
  7. Check the test guest appears in your portal's guest list, which on CaptiFi is Guest Visits on my.captifi.io.

If the page still will not appear, email hello@captifi.io with the hardware model, the controller version and which devices fail. CaptiFi's average support response time is under 2 hours, and the setup guide for your system, linked from the hardware page, lists its walled garden entries and portal settings.

Sources: Apple Support, Use captive Wi-Fi networks on your iPhone or iPad, Use private Wi-Fi addresses on Apple devices and Manage iCloud Private Relay for specific websites, networks, or system settings; Android Developers, Captive portal API support; Microsoft Learn, Network Connectivity Status Indicator FAQ; Mozilla Support, Captive portal detection, and the Firefox 155 release notes; the Android NetworkStack default probe addresses; IETF RFC 8952; and CaptiFi's hardware setup guides, October 2026. Product names are trade marks of their owners; CaptiFi is not affiliated with or endorsed by them.

Frequently asked questions

Quick answers to the most common questions about this topic.

Why is the WiFi login page not showing on my iPhone?
The iPhone opens the login page only when its test request to captive.apple.com is redirected. If the network's walled garden allows captive.apple.com or a wildcard such as *.apple.com, the test succeeds and nothing opens. If the page was dismissed with Without Internet, the phone turns off Auto-Login for that network, and Apple says the Welcome screen then appears the next time it connects, so forget the network and join again. Opening http://neverssl.com in Safari also triggers the page.
Why is the captive portal not showing on Android?
Android checks connectivitycheck.gstatic.com and expects an empty reply with status 204, and also checks www.google.com over HTTPS. If the walled garden lets either host through, often through a broad *.gstatic.com or *.google.com entry, the check passes and no sign-in notification appears. Allow fonts.gstatic.com by name instead. If the notification was swiped away, tapping the network name in the WiFi settings usually reopens the sign-in page.
How do I force a WiFi login page to open?
Open a browser and go to an address that starts with plain http://, such as http://neverssl.com. Plain HTTP can be redirected by the network, so the login page loads in its place. HTTPS sites cannot be redirected cleanly and show a security warning or a blank page instead. Forgetting the network and joining again also makes the phone run its automatic check again.
Why does the login page load but the internet still not work?
The page is working and the hand-off back to the network is not. The portal has to tell the controller or gateway to let the device through, using the controller's API, a RADIUS reply or a grant URL depending on the hardware. Check the RADIUS shared secret for stray spaces, that outbound UDP 1812 is open, and that the controller API key or operator account still exists.
Should captive.apple.com be in the walled garden?
No. captive.apple.com is the address Apple devices test to find out whether a network has a captive portal. If the walled garden lets it through, iPhones, iPads and Macs believe they are already online and never open the sign-in page. The same goes for connectivitycheck.gstatic.com and www.google.com on Android, www.msftconnecttest.com on Windows and firefox-portal-detection.com in Firefox, and for any wildcard that covers them.
Why do guests have to sign in again every time they visit?
Either the session length is short, or the guest's phone has changed its private WiFi address. Apple says iPhones use a rotating address by default on open networks, Enhanced Open and captive portal networks, changing it every two weeks, so a regular can look like a new device each fortnight. Android keeps one address per network. CaptiFi recognises returning devices and lets them straight through while the address stays the same.
Can a VPN stop the captive portal from appearing?
Yes. An always-on VPN tries to connect as soon as the phone joins the WiFi, before the portal has let it through, so it cannot reach its server and nothing loads. Ad blockers and content filters that run as a local VPN can do the same. The guest should pause the VPN, sign in to the WiFi, then switch the VPN back on.
Why does my Android phone say Private DNS server cannot be accessed on WiFi?
The phone has been set to send its DNS lookups to a specific encrypted DNS provider, and the WiFi network is blocking that service, so pages fail to load even after you have signed in. Android shows the message in the network details. Set Private DNS to Automatic in your network settings while you use this network, and switch your own setting back afterwards if you want it.
C
Written by
CaptiFi Editorial Team

The CaptiFi Editorial Team writes about guest WiFi marketing, captive portals, GDPR-compliant data capture, and local SEO for venue operators. We base our recommendations on real customer outcomes and verified third-party reviews from G2.com.

Ready to turn your guest WiFi into a marketing engine?

CaptiFi captures customer data from every WiFi login, automates Google reviews and email follow-ups, and plugs into the tools you already use. Hardware included (refundable deposit), transparent pricing, 30-day free trial.

Related reading