How many PWAs are actually broken?
Most of them, by at least one measure. Across 386 installable web apps opened in a real browser on 12 August 2026: 235 install and then show nothing offline. Of the 373 manifests we could read, 215 declare no maskable icon, 329 declare no id, and 331 declare no screenshots. 3 apps link to a manifest that no longer responds at all — those cannot be installed by anyone, and nothing in normal browsing reveals it.
The numbers
Offline: 151 of 386 work with the network cut, 235 do not. Manifests: 373 readable of 386. Among those, 215 have no maskable icon (58%), 329 have no id (88%), 331 have no screenshots (89%), 36 have no icon reaching 512px (9.7%), and 32 declare shortcuts (8.6%).
A small but stubborn category: 3 apps declare a manifest URL that returns nothing. Their pages load fine. They look like ordinary websites. But no browser will ever offer to install them, and their authors have no way to notice unless someone tells them.
Why these particular defects survive
Each one is invisible from the developer's chair. The offline failure needs an installed app plus no connection. The missing maskable icon needs a physical Android device — emulators often use a square launcher that hides it. The missing id causes nothing at all until the day you change start_url, and then it orphans every installed user silently.
None of them produce an error. That is the common thread, and it is why the proportions are so high. A defect that announces itself gets fixed in an afternoon; a defect that waits for a specific state stays in production for years.
What this means if you run one
The id is the one to fix today, because it is the only one whose damage is permanent. Add "id": "/" to your manifest while it costs nothing. After you have already moved start_url, the users you orphaned cannot be recovered — the mechanism is here.
Then check offline properly: devtools → Application → Service Workers, tick Offline, reload. Thirty seconds, and it settles whether you are in the 39% or the 61%. If you would rather have it done for you, we run the measurement on request.
Frequently asked
From this directory. Every listed app is opened in a headless Chromium — service worker awaited, network cut, reload, record what survives — and every manifest is fetched and parsed. The figures above are the state on 12 August 2026 across 386 installable apps and 373 readable manifests.
It is cosmetic rather than functional: the app works, it just sits in a white circle on Android instead of filling the adaptive shape. But it is the first thing a user sees on their home screen, next to native apps that do it correctly, and it takes one extra PNG to fix.
Also published on Medium. This page is the original.
Apps mentioned
Keep reading
592+ Progressive Web Apps, each checked by hand — installable from your browser, no app store.
Browse the directory →