Lighthouse removed its PWA category in version 12.0.0, released on April 22, 2024. The PWA score is gone because Chrome changed what “installable” means, not because PWAs stopped mattering. Today you test a PWA by checking what users actually experience: install on Android and desktop, Add to Home Screen on iPhone, offline, and push. The plan below covers all four.
What happened to the PWA category
The Lighthouse v12.0.0 release notes say: “As per Chrome’s updated Installability Criteria, Lighthouse has removed the PWA category. For future PWA testing, users will be directed to use the updated PWA documentation.” That documentation is the Chrome DevTools guide for progressive web apps.
The release was expected to ship in the DevTools of Chrome 126, and to reach PageSpeed Insights within two weeks. If you open PageSpeed Insights today and see no PWA score, this is why.
Chrome’s own post on the install-criteria update gives the reason. Lighthouse’s PWA checks were tied to the installability criteria, and Chrome changed those criteria. Installability checks are still available in DevTools.
So the checks didn’t vanish. They moved, and the single score went away.
What “installable” means now
“Installable” means the browser will let a user put your site on their device like an app. The rules differ by browser.
Chrome
web.dev lists what has to be true before Chrome fires beforeinstallprompt (the browser event behind its install promotion):
| Requirement | Detail |
|---|---|
| Not installed yet | The web app is not already installed |
| User engagement | At least one click or tap on the page, and at least 30 seconds viewing it (at any time, including earlier visits) |
| HTTPS | The site is served over HTTPS |
| Manifest names | short_name or name |
| Manifest icons | icons including a 192px and a 512px icon |
| Manifest start | start_url |
| Manifest display | fullscreen, standalone, minimal-ui or window-controls-overlay |
| Related apps | prefer_related_applications absent or false |
The manifest is a small JSON file that tells the browser your app’s name, icons and start page. Our guide to the web app manifest covers it in detail.
What about service workers? A service worker is a script that runs in the background and handles caching, offline pages and push. Chrome removed the requirement for a service worker fetch handler for installing from the browser menu, from Chrome 108 on mobile and Chrome 112 on desktop. Chrome also added a default offline page for installed sites that don’t have their own.
So you no longer need a service worker just to install from Chrome’s menu. You still need one for your own offline page and for push notifications.
iPhone
Safari on iPhone has no install prompt and no beforeinstallprompt. People install from Share, then Add to Home Screen.
Since iOS 26, Safari has no install criteria at all. The WebKit blog says: “By default, every website added to the Home Screen opens as a web app.” Users can turn off “Open as Web App” while adding. The same post says: “Giving users a web app experience simply no longer requires a manifest file.”
A manifest still helps, because Safari uses its icons and settings. But on iPhone there’s nothing to pass or fail. You test what the Home Screen app looks like and does.
How to test your PWA in 2026
Work through these in order.
- Run a full check of your URL. Enter it in the free PWA Stack checker. It tests five areas and explains each failure with a fix: Install, iPhone, Push, Offline and App stores. It’s free and needs no sign-up.
- Read the manifest in Chrome DevTools. Open DevTools, go to Application, then Manifest. The panel shows Identity, Presentation, Icons, Shortcuts and Screenshots. If something is wrong, such as an icon that fails to load, an Installability section appears and describes the error. Under Icons, tick Show only the minimum safe area for maskable icons to see how a maskable icon will be cropped.
- Test offline. Go to Application, then Service workers. Tick Offline, reload the page, and see what loads. Bypass for network skips the service worker. Clear storage unregisters service workers and clears caches in one click.
- Install it for real. Install the app from desktop Chrome and from an Android phone. Open it from the app icon, not the browser tab.
- Test on an iPhone with iOS 26. Tap Share, then Add to Home Screen. Keep Open as Web App on. Open the app from the Home Screen. Check the icon, the name under it, and that it opens without Safari’s bars.
- Test push, if you send it. Test on the iPhone, from the Home Screen app, since iPhone only delivers web push there. To send a test message to a subscription your app created, use the free push tester.
What the checker covers
The checker runs from our server, so it sees your public pages like a visitor does. It can’t test things that only happen on a device, like the real install prompt or a delivered push. That’s why steps 4 to 6 use real phones.
| Area | What it checks |
|---|---|
| Install | HTTPS, mobile viewport, manifest, name, display, an icon big enough to install, start URL, icon files that load at the size the manifest says |
| iPhone | Home Screen icon, Home Screen name length, launch screens |
| Push | Service worker, push set up, push that reaches iPhone users |
| Offline | The service worker handles offline |
| App stores | 512×512 icon, maskable icon, screenshots in the manifest, a rough read of App Store review risk |
Push on iPhone: the rules
Web push on iPhone arrived in iOS 16.4. It works only for web apps added to the Home Screen, with a manifest whose display is standalone or fullscreen. Permission must be asked in response to a user action, such as tapping a button. If push fails on iPhone, check these three first.
Common problems and fixes
| What you see | Likely cause | Fix |
|---|---|---|
| DevTools shows an Installability error about an icon | An icon file returns 404, or isn’t the size the manifest says | Fix the path and match the real pixel size. The icon generator makes a full set |
| Chrome never shows its install prompt | No 192px or 512px icon, no start_url, or the site is on HTTP |
Add both icon sizes and start_url, and serve the site over HTTPS |
| Added to the home screen, it opens in a normal browser tab | display is browser |
Use standalone |
| Everything else passes, but Chrome still won’t offer to install | prefer_related_applications is true |
Remove it or set it to false |
| The name under the iPhone icon is cut off | The name is longer than about 12 characters | Set a short short_name and apple-mobile-web-app-title |
| The iPhone Home Screen icon looks generic or wrong | No 180×180 apple-touch-icon |
Add one (see below) |
| A browser error when offline, and push can’t be set up | No service worker | Add a service worker |
Safari uses manifest icons only when the page has no apple-touch-icon, and only icons whose purpose is any or not set. A 180×180 apple-touch-icon gives the iPhone Home Screen the right icon:
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
Need a manifest from scratch? Try the free manifest generator. If you’re starting from an existing site, see how to convert a website to an app.
Can you still get a PWA score?
Sort of. Older Lighthouse versions still have the PWA category. But they test against Chrome’s old criteria, so a pass or fail there can be wrong today.
A checklist of real behavior is more useful than a score. Can you install it? Does it open properly from the Home Screen? Does it load offline? Does push arrive? If you can answer yes with a real device in your hand, you’re in good shape.
If you’d rather not do this yourself, our Setup service ($149, one-time) does the manifest, icons, iOS launch screens, service worker and push, tested on real iPhones and Android phones.