Glossary

Definition

PWA install criteria

Short definition

Chromium's PWA install criteria require: the site served over HTTPS; a linked Web App Manifest with at least a name (or short_name), a 192x192 and 512x512 icon, a start_url, and a display value of standalone, fullscreen, minimal-ui or a display_override entry; and a registered service worker with a fetch event handler, even a minimal pass-through one.

Reviewed August 10, 2026

A missing fetch handler used to be strictly required historically as evidence of offline capability; Chromium has since relaxed some specifics over browser versions, so the current authoritative checklist is always the one in the Chrome for Developers installability documentation rather than any fixed historical list: https://developer.chrome.com/docs/lighthouse/pwa/installable-manifest/.

Meeting the criteria makes a site eligible for beforeinstallprompt and the address-bar install icon, but does not itself install anything — the user (or your own prompt() call in response to a gesture) still has to complete the install action.

Sites that meet only some criteria may still be "addable to home screen" as a plain bookmark shortcut without full PWA behaviour (no standalone window, no WebAPK on Android), which is a common source of "why doesn't my install look right" confusion.

Lighthouse's PWA audit category checks most of these criteria automatically and lists exactly which one is failing, making it the fastest way to debug an install prompt that never appears.

Related terms
Web App Manifest
A Web App Manifest is a JSON file (usually manifest.webmanifest) that declares your app's name, icons, start URL, theme colour and display mode. The browser reads it to render the install prompt and the home-screen icon.
Service worker
A service worker is a JavaScript file the browser runs in the background, separate from the page. It intercepts network requests, caches responses so the site works offline, and receives web-push events so the site can notify the user when it is closed.
Lighthouse PWA audit
The Lighthouse PWA audit, run from Chrome DevTools' Lighthouse panel or the lighthouse CLI, checks a page against Chromium's installability criteria — valid manifest fields, icon sizes, registered service worker, HTTPS — and flags exactly which checks pass or fail, rather than giving a single opaque score for the category.
display-mode media query
display-mode is a CSS media feature, usable both in stylesheets (@media (display-mode: standalone) { ... }) and in JavaScript via window.matchMedia("(display-mode: standalone)").matches, that reports which of browser, minimal-ui, standalone or fullscreen is currently applied to the page — regardless of what the manifest requested, since the OS can downgrade the requested mode.
beforeinstallprompt userChoice
userChoice is a property on the deferred beforeinstallprompt event, resolving to an object like { outcome: "accepted" | "dismissed", platform: "web" }, available after calling deferredEvent.prompt(). It is the only reliable, synchronous-feeling signal for whether a user actually accepted or dismissed your custom install prompt in that specific interaction.
beforeinstallprompt
beforeinstallprompt is a window event Chromium browsers fire when a site meets the PWA install criteria. Capturing the event and calling prompt() later lets you show the install dialog at a moment of your choosing instead of at page load.