Offline PWAs: how to tell if a web app really works offline
Not every installed PWA works without internet. Learn how offline web apps work, which apps suit offline use, and how to test one in airplane mode and DevTools.
One of the best things a progressive web app can do is keep working when your connection doesn't — on a plane, in the subway, or in a field with one bar of signal. But plenty of installed PWAs show an error the moment you go offline. Here's how to tell the difference before you rely on one.
Installed doesn't mean offline
It's easy to assume that if an app has an icon on your home screen, it lives on your device. For a PWA that's only partly true. Browsers can let you install a web app based mostly on its web app manifest — name, icons, display mode. According to web.dev's current install criteria for Chrome, a service worker isn't on that list. And since iOS 26, Safari opens any site added to the Home Screen as a web app, whether or not it was built for it.
So an installed PWA can be little more than a website in its own window. Whether it works offline depends entirely on whether its developer built for it.
How offline web apps actually work
Offline support comes from a service worker — a script the browser runs separately from the page. MDN describes it as a proxy between the app and the network. In practice an offline-capable PWA does three things:
- Caches its app shell — the HTML, CSS, JavaScript and icons needed to start — when the service worker installs.
- Intercepts requests and serves files from that cache when the network is unavailable.
- Stores your data locally — usually in IndexedDB — so you can read and edit it offline, then syncs changes when you're back online.
Steps 1 and 2 let the app open. Step 3 is what makes it useful. An app that caches its shell but keeps all your data on a server will launch offline, then show an empty screen or a "you're offline" message.
Levels of offline support
| Level | What you see offline | Typical apps |
|---|---|---|
| None | Browser error page or a blank window | Plain websites added to the home screen |
| Offline page | A branded "You're offline" screen | News sites, stores, social apps |
| Read-only | Previously loaded content, no changes | Readers, docs, reference apps, maps you've viewed |
| Fully offline | Everything works; changes sync later | Calculators, games, notes, to-do lists, timers, tools that run locally |
Which kinds of apps suit offline use
Apps that do their work on your device are natural candidates for offline use: calculators and converters, puzzle and arcade games, note-taking and to-do apps, timers and trackers, reference material, and simple photo or audio tools. Apps that depend on live data — banking, messaging, social feeds, streaming, live transport times — can at best show cached content offline.
An app's name or store description saying "offline" is a claim, not a guarantee. Run the tests below before you depend on it — for example, before a flight.
Test 1: airplane mode (any device)
Install the PWA and use it online first
Open it from its icon and click around the screens you care about, so the service worker can install and cache what it needs.
Close the app completely
Swipe it away from the app switcher or quit the window.
Turn on airplane mode
Also make sure Wi-Fi is off — some phones keep Wi-Fi on in airplane mode.
Launch the app from its icon
Does it open? Can you see your data? Can you create or edit something?
Go back online
Check that anything you changed offline has synced and isn't duplicated or lost.
Test 2: Chrome or Edge DevTools (desktop)
If you want to see what's going on under the hood, DevTools shows you exactly what the app has cached.
Open DevTools
On the PWA's page press F12 (or Cmd+Option+I on Mac) and switch to the Application panel.
Check the Manifest
The Manifest section shows the app's name, icons, start URL and display mode.
Check Service workers
In Service workers, confirm a worker is registered and activated for the site. No service worker means no offline support.
Look at Cache storage
Cache storage lists the files the app has saved. If only a few files are there, expect limited offline use.
Simulate offline
Tick Offline in the Service workers pane (or switch the Network panel to offline) and reload the page.
Our free PWA checker reports whether a public site registers a service worker, and the manifest viewer shows how an app is configured to launch. A service worker is required for offline support, but it doesn't prove the app works offline — always finish with the airplane-mode test.
Tips for using PWAs offline
- Open the app online at least once after each update so the new version is cached.
- Don't clear site data for apps that keep your work locally — that deletes it. Export or sync important data regularly.
- Launch from the icon, not from a browser tab in private mode, where storage may be wiped when you close it.
- Storage can be evicted if your device is very low on space; apps you use regularly are less likely to be cleared.
For makers: what offline users expect
If you're building a PWA, a custom offline page is the minimum. Better: cache the app shell, store user data in IndexedDB, queue changes and sync them later, and tell users clearly when they're offline. MDN's service worker tutorial is a good starting point, and you can verify your manifest and service worker with our free PWA tools. Once it works, submit your app to the catalog.
Ready to find apps to try? Browse the PWA catalog and test a few with the airplane-mode method above. New to installing? See how to install a PWA.