# WebAPK: how Chrome installs PWAs on Android

> What a WebAPK is, how Chrome mints and updates it, what capabilities it unlocks compared to a web shortcut, and its limitations.

**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

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 `scope` are 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

1. User accepts the install prompt (`beforeinstallprompt` → `prompt()` accepted, or
   taps the browser's ambient install UI).
2. Chrome sends the manifest URL, manifest contents, and icon hashes to the Google
   WebAPK minting server (`https://webapk.googleapis.com`).
3. The server generates and signs an APK.
4. 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

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

- **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](/reference/installation/twa).
- **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

| | 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

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

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

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](/reference/installation/ios-add-to-home-screen) for
the iOS-specific behavior.

## 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)](/reference/installation/twa).

## Compatibility

For platform-level support figures, see [/compatibility/](/compatibility/).