By feature
The by-feature view lists each PWA capability. Open any feature for its full OS × browser × version matrix, ecosystem policy rows, and provenance.
| Feature | Category | Summary | Targets |
|---|---|---|---|
| Async Clipboard API | Capabilities | Programmatic read/write access to the system clipboard via navigator.clipboard, gated by a user gesture or the clipboard-read/clipboard-write permission. | 4 |
| Background Sync | Capabilities | Defer actions until the user has stable connectivity via the service worker. | 7 |
| Badging API | Engagement | Set an app-icon badge (count or dot) on the installed PWA. | 7 |
| File System Access API | Capabilities | Read and write to the user's local file system with explicit permission. | 7 |
| Geolocation API | Capabilities | Read the user's geographic position with explicit permission, one-shot or via a watch. | 6 |
| Install Prompt (beforeinstallprompt) | Installation | Programmatic control over the PWA install prompt via the beforeinstallprompt event. | 7 |
| Manifest Protocol Handlers | Manifest | Register a PWA to handle custom or allow-listed URL protocols via manifest.protocol_handlers. | 7 |
| manifest: id | Manifest | The id member provides a stable identity for a PWA, decoupled from start_url. | 7 |
| manifest: share_target | Manifest | The share_target member registers the installed PWA as a target in the OS native share sheet. | 6 |
| manifest: shortcuts | Manifest | The shortcuts member adds quick-action entries to the OS context menu of an installed PWA. | 7 |
| Payment Request API | Commerce | Browser-mediated checkout sheet collecting payment and contact details. | 7 |
| Persistent Storage | Storage | navigator.storage.persist() requests protection from automatic data eviction. | 8 |
| Service Workers | Capabilities | The programmable network proxy that powers offline, caching, and push for PWAs. | 7 |
| Trusted Web Activity availability | Installation | The Android mechanism for shipping a PWA through the Google Play Store as a full-screen Chrome Custom Tab with Digital Asset Links verification. | 1 |
| Web App Manifest: display | Manifest | The display member chooses the installed app's window mode (standalone, fullscreen, minimal-ui, browser). | 7 |
| Web App Manifest: display_override | Manifest | The display_override member provides a fallback chain of display modes, letting a PWA prefer newer modes while falling back to standard modes. | 6 |
| Web App Manifest: icons | Manifest | The icons member supplies home-screen, task-switcher, and install-dialog imagery for a PWA. It also supports maskable icons that adapt to platform-specific shapes. | 8 |
| Web App Manifest: name / short_name | Manifest | The name and short_name members define how a PWA is labelled in install prompts, the app shelf, and the home screen. | 7 |
| Web App Manifest: scope | Manifest | The scope member fences the installed app's navigation boundary. | 7 |
| Web App Manifest: screenshots | Manifest | The screenshots member supplies richer install UI in browsers and store listings. | 7 |
| Web App Manifest: start_url | Manifest | The start_url member identifies the URL that loads when a user launches an installed PWA from the home screen or app shelf. | 7 |
| Web Push | Engagement | Server-sent push messages delivered via the Push API + service worker, even when the app is closed. | 7 |
| Web Share API | Capabilities | The Web Share API invokes the platform-native share sheet so users can share text, URLs, or files from a PWA. Share Target (receiving shared content via manifest share_target) is scoped separately; its browser-compat-data coverage is not yet tracked in MDN BCD. | 6 |
| WebAPK availability | Installation | The mechanism Chrome uses to install PWAs as real Android apps with their own package identity, splash screen, and deep-link registration. | 1 |
| WebAuthn / PublicKeyCredential | Capabilities | PublicKeyCredential lets a PWA register and authenticate users with public-key credentials via platform or roaming authenticators instead of passwords. This matrix reflects baseline PublicKeyCredential availability only — passkey (discoverable credential, which may be device-bound or synced) support arrived later and depends on additional platform integration not captured by these version numbers. | 5 |
| WebRTC (RTCPeerConnection) | Capabilities | Establish real-time peer-to-peer audio, video, and data connections directly between browsers. | 5 |
26 features seeded and growing.
← Back to the Compatibility overview.