Site Works on Mobile But not Desktop - Why

Site Works on Mobile But not Desktop – Why

You pull out your phone, load the site, and it works perfectly. You look back at your laptop, where the same URL has been failing for the last ten minutes.

This is a genuinely useful piece of information, even though it feels like a taunt. Your phone just told you the site is up and the server is fine. Whatever is broken lives between your desktop and the internet, and that narrows the search to a short list.

What your phone actually proved

When the site loads on mobile data, four things got swapped out at once:

  • A different network, with a different route to the server
  • A different DNS resolver
  • A different browser, with different caches, extensions, and stored data
  • A different IP address

One of those four is your problem. The rest of this is about narrowing down which.

Note the distinction that trips people up: this only works if your phone is on mobile data, not the same Wi-Fi. If both devices are on your home network and only the phone works, you’ve eliminated the network and the culprit is almost certainly something in your desktop browser.

The desktop-specific causes, in order of likelihood

Browser extensions

The single most common cause, and the one people check last.

Ad blockers, privacy extensions, script blockers, and corporate security add-ons all sit between your browser and the web, filtering requests. When one blocks a script the page needs to render, you don’t get a partial page. You often get nothing at all, or a blank white screen that looks exactly like a server error.

Your phone almost certainly doesn’t have those extensions installed. That asymmetry alone explains a large share of “works on mobile, not desktop” cases.

Test it: open the site in a private window, which runs without extensions by default. If it loads, disable extensions one at a time until you find the one responsible.

Cached content

Your desktop browser has been visiting this site for months. It’s holding cached CSS, JavaScript, and possibly a cached copy of a broken version of the page from during a deploy. Your phone may have never visited at all, so it fetches everything fresh.

Service workers make this worse and are worth knowing about. A progressive web app installs a script that intercepts requests and serves content from local storage. When a service worker goes stale, it can serve a broken cached version indefinitely while the live site is perfectly fine. Hard refresh won’t always clear it.

Test it: hard refresh with Ctrl+F5 (Cmd+Shift+R on Mac). If that fails, clear site data specifically for that domain through your browser’s developer tools rather than clearing everything.

DNS cache and resolver differences

Your desktop caches DNS lookups at the operating system level, and so does your router. If the site changed servers recently, your machine may still be holding the old IP address. Your phone on mobile data uses your carrier’s resolver, which may have already updated.

This is especially common in the day or two after a site migration, when propagation is uneven across resolvers worldwide.

Test it: flush the DNS cache. Windows: ipconfig /flushdns. macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Then try switching to 1.1.1.1 or 8.8.8.8 to bypass your ISP’s resolver entirely.

Your network or router

If your desktop is on Wi-Fi and the phone is on cellular, the network itself is a variable. Router DNS settings, parental controls, a firewall rule, or an ISP-level filter can each block one site while everything else works.

Office and campus networks add content filtering that blocks entire categories, sometimes returning a generic error rather than a clear block page.

Test it: tether your desktop to your phone’s hotspot. If the site loads, the fault is in your regular network.

VPN, proxy, or antivirus

A VPN changes your apparent location and IP. Sites block VPN exit nodes routinely, and geo-restrictions may kick in based on where the exit node sits.

Security software that inspects HTTPS traffic is the sneakier version of this. Some antivirus products install a local certificate to decrypt and scan encrypted traffic, and when that mechanism breaks, HTTPS sites fail with certificate errors that look like the site’s fault.

Test it: disconnect the VPN. Temporarily disable HTTPS scanning in your security software.

Old browser, modern site

Less common now, but real. If your desktop browser hasn’t been updated in a couple of years and the site uses recent JavaScript features or a modern TLS version, the page can fail to render while your regularly updated phone browser handles it fine.

Test it: update the browser, or try a different one.

The order to actually work through it

  1. Load the site in a private window on desktop. If it works, it’s extensions or cache.
  2. Hard refresh. Then clear site data for that specific domain.
  3. Flush DNS and switch to a public resolver.
  4. Tether to your phone’s hotspot. If it works, the network is the problem.
  5. Disable VPN and HTTPS scanning in antivirus.
  6. Try a different browser entirely.

Almost everything resolves by step three. If you get to step six and it still fails on desktop while working on mobile, you’re likely looking at something unusual: a corrupted browser profile, a hosts file entry, or DNS-over-HTTPS configured in the browser pointing at a resolver with a stale record.

When the problem is the site, not you

Sometimes “works on mobile, not desktop” really is the site’s fault, and it’s worth knowing the shapes this takes if you’re the one who owns it.

A separate mobile site or divergent responsive breakpoints. If the desktop layout depends on CSS or a script that fails to load, the mobile view can render while the desktop view collapses.

Device-conditional code. Some sites serve different bundles by user agent. A bug in the desktop bundle affects only desktop.

Compromised sites do the reverse. Injected malware frequently targets mobile visitors specifically, redirecting phone users to scam pages while desktop users see a clean site. If you’re the owner and someone reports a redirect you can’t reproduce, don’t dismiss it. Content-level checks catch this where a plain availability check won’t, which is the argument for monitoring page integrity rather than just uptime.

A CDN edge serving stale or broken assets to one region while other edges are fine. Your phone on a carrier network may route to a different edge node than your desktop on home broadband.

If you own the site, the useful move is checking what the server actually returns rather than what your browser displays. A 200 with a broken render is a completely different problem from a 502, and the browser’s error page hides the difference. Our full breakdown of HTTP status codes covers what each response tells you about where the failure sits.

For anything server-side, checking the host and server response directly is faster than guessing from the front end. A server and host status check tells you whether the origin is healthy independent of anything happening in a browser.

Your phone uses a different network, DNS resolver, browser, and IP address. Any one of those can be the cause. In practice, the most frequent culprits on desktop are browser extensions blocking required scripts, cached or stale content including service workers, and a DNS cache holding an outdated IP after the site moved hosts.

On Windows, open Command Prompt and run ipconfig /flushdns. On macOS, run sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder in Terminal and enter your password. Restart the browser afterwards, since browsers keep their own separate DNS cache.

Yes. Ad blockers and script blockers filter network requests, and if they block something the page depends on to render, you can get a blank page rather than a partially broken one. Testing in a private window, which disables extensions by default, is the fastest way to rule this in or out.

A service worker is a script that runs in the background and can intercept network requests to serve cached content, which is how progressive web apps work offline. When one becomes stale or buggy it can keep serving a broken cached version even after the live site is fixed. Clearing site data through your browser’s developer tools removes it; a normal cache clear sometimes doesn’t.

Occasionally. Device-conditional code, a broken desktop CSS bundle, or a CDN edge serving bad assets can all produce desktop-only failures. But if other people can load the site on desktop without trouble, the cause is local to your machine. Asking a colleague to try it is a quick way to settle which it is.

The short version

Your phone working is good news. It means the server is up and the fix is on your side, which is the side you can actually do something about.

Private window, hard refresh, flush DNS. Three steps, about a minute, and that’s most cases handled.