Installation · Concept
WebAPK: how Chrome installs PWAs on Android
Published
In one line: When you install a PWA on Chrome for Android, Chrome generates a thin native APK called a WebAPK — not a plain home-screen shortcut — which gives the app its own Android package identity, splash screen, and deep-link registration without requiring Play Store distribution.
What a WebAPK is
Section titled “What a WebAPK is”A WebAPK (Web App Package) is a lightweight Android APK generated by Google’s WebAPK
minting server at install time. Chrome submits the PWA’s manifest details to the server,
receives back a signed APK, and Android installs it like any other app. The APK itself
contains no web content; it is a shell that launches Chrome at the PWA’s start_url
within a customized Chrome runtime.
Consequences of WebAPK installation:
- The app appears in the Android app drawer and can be uninstalled from Settings → Apps like any native app.
- Android assigns the app a unique package name (usually derived from the manifest’s
start_url), giving it its own process identity. - Deep links registered in the manifest’s
scopeare captured by the WebAPK rather than opening in a browser tab. - A splash screen is generated from the manifest’s
name,background_color, and 512 × 512 icon automatically. - The app shows in recents (multitasking) as a standalone card.
How WebAPK minting works
Section titled “How WebAPK minting works”- User accepts the install prompt (
beforeinstallprompt→prompt()accepted, or taps the browser’s ambient install UI). - Chrome sends the manifest URL, manifest contents, and icon hashes to the Google
WebAPK minting server (
https://webapk.googleapis.com). - The server generates and signs an APK.
- Chrome installs the APK via
PackageInstaller; Android treats it as a real app.
The minting server is operated by Google and is required for Chrome’s WebAPK path. Samsung Internet has its own equivalent mechanism for Samsung devices.
Automatic manifest updates
Section titled “Automatic manifest updates”Chrome checks the PWA’s manifest every 24 hours (approximately). If the manifest changes — name, icons, colors, scope, or start_url — Chrome triggers a re-mint and Android silently updates the WebAPK. The update is seamless; the user does not see a prompt unless the package name itself must change (a rare edge case).
Implication: manifest changes propagate to installed apps within a day. You do not need to push a new native release.
What WebAPK does NOT provide
Section titled “What WebAPK does NOT provide”- Native Android APIs beyond what the web platform exposes. The WebAPK is a shell; business logic still runs as web code in Chrome.
- Play Store listing or distribution — that requires a Trusted Web Activity (TWA). See TWA reference.
- Custom Chrome flags or extensions. The WebAPK launches the user’s installed Chrome, so the behavior matches the user’s Chrome version.
- Offline install. If the minting server is unreachable at install time, Chrome falls back to a plain shortcut instead of a WebAPK.
Comparing WebAPK vs plain shortcut
Section titled “Comparing WebAPK vs plain shortcut”| WebAPK | Plain shortcut | |
|---|---|---|
| Android package identity | Yes (unique package name) | No |
| Appears in app drawer | Yes | Yes (home screen only) |
| System Settings → Apps | Yes | No |
| Splash screen | Auto-generated | No |
| Deep link capture (intents) | Yes (scope-matched URLs) | No |
| Uninstall from Settings | Yes | Long-press on home screen only |
| Minting server required | Yes | No |
Samsung Internet
Section titled “Samsung Internet”Samsung Internet generates WebAPKs for PWAs installed through its own browser using Samsung’s minting infrastructure. The experience is equivalent to Chrome’s WebAPK but the APK is signed by Samsung. The minting server is not interchangeable with Google’s.
Firefox for Android
Section titled “Firefox for Android”Firefox for Android (128+) installs PWAs as plain shortcuts; it does not generate WebAPKs. The app experience is more limited: no Android package identity, no deep-link capture, no appearance in Settings → Apps as a dedicated entry.
iOS comparison
Section titled “iOS comparison”iOS does not use the APK model at all. Safari creates a web clip — a shortcut that opens in a Safari session with its own window. There is no equivalent of WebAPK; see iOS Add to Home Screen for the iOS-specific behavior.
Distribution via Play Store
Section titled “Distribution via Play Store”To reach Play Store distribution for a PWA, you need a Trusted Web Activity (TWA) rather than a WebAPK. See Trusted Web Activity (TWA).
Specifications
| Specification | Status |
|---|---|
| WebAPK availability | Vendor |