Installation
Published
Installation is the moment a PWA leaves the browser tab and becomes an app on the home screen, dock, or Start menu. Getting there means meeting each platform’s installability criteria, surfacing the install moment well, and, once installed, re-engaging with badges and notifications.
These entries cover what makes a PWA installable, how the install prompt works across platforms, and the UX decisions around when and how to ask.
In this section
Section titled “In this section”beforeinstallprompt eventHow Chromium pages defer beforeinstallprompt and open the install dialog with prompt(), what userChoice reports, why prompt() rejects, and the Safari fallback.
Badging APIHow setAppBadge() and clearAppBadge() put a count or dot on an installed app icon, which browsers draw it, the TypeError and no-op cases, and a fallback.
Desktop installationHow Chrome, Edge, Safari, and Firefox install a web app on Windows, macOS, Linux, and ChromeOS, where it lives on each OS, and how a page detects it.
getInstalledRelatedApps()How navigator.getInstalledRelatedApps() reports which entries of the manifest's related_applications are installed on the device, the verification each platform demands, the empty-array and InvalidStateError cases, and a fallback.
Install prompt UXThe three signals a page has about installability (the beforeinstallprompt event, display-mode, appinstalled), what each browser's own install surface looks like, the cost of prompting early, and code that shows the right affordance per platform.
App shortcuts after installWhy the manifest shortcuts menu exists only on an installed app's icon, which launchers show it, how shortcut URLs resolve against scope and the manifest URL, and how the app tells which shortcut launched it.
Installability criteriaWhat each browser checks before it offers to install a web app, from Chrome's manifest and HTTPS gate (service worker no longer required since Chrome 108 and 112) to Safari's zero requirements on iOS 26 and Firefox 143's taskbar web apps, and how to check a page against them.
iOS Add to Home ScreenHow a site reaches the iOS Home Screen through the Share sheet, what decides web app versus bookmark on iOS 16.4 and 26, and how a page detects standalone mode.
The N+1 install problemWhy an installed web app belongs to the browser that installed it, so one site can exist as several independent, data-isolated installs on one device, which platforms deduplicate and which do not, and what a page can and cannot detect about it.
Richer install UIHow Chrome turns the install prompt into a sheet with the manifest description and screenshots, the screenshot size, aspect-ratio, and form_factor rules it enforces, which browsers ignore the members, and how to check a manifest against the rules.
Trusted Web ActivityHow a Trusted Web Activity ships a PWA through Google Play, how Digital Asset Links decides whether the URL bar shows, and how it differs from a WebAPK.
Uninstalling an installed PWAWhere chrome://apps, edge://apps, Windows Settings, the macOS Applications folder, and the iOS Home Screen put the uninstall action, and what it removes.
WebAPKHow Chrome on Android mints a signed APK from the manifest, what package identity, intent filters, and splash screen a WebAPK adds, and how updates propagate.
Web Install API (navigator.install)How navigator.install() installs the current document or a manifest URL, the activation and permission it needs, and the DOMException names it rejects with.
Isolated Web AppsWhat an Isolated Web App is: a signed Web Bundle on the isolated-app scheme, the manifest fields it adds, the policies applied to it, and where it runs.
← Back to the Reference overview.