# Uninstalling an installed PWA

> Where chrome://apps, edge://apps, Windows Settings, the macOS Applications folder, and the iOS Home Screen put the uninstall action, and what it removes.

Uninstalling an installed web app is a per-platform action performed in the browser that installed it or in the operating system's app list, and it removes more than the icon: the standalone window registration, file-handler and protocol-handler registrations, and, depending on the platform, the app's storage. Chrome and Edge on desktop expose it from `chrome://apps` and `edge://apps` and from the app window's own menu; Windows lists Chromium web apps in Settings › Apps; Safari on iOS removes a Home Screen web app like any other app; Safari on macOS 14 and later removes a Dock web app from the Applications folder (MDN "Installing and uninstalling web apps", Microsoft Edge PWA documentation).

## How it works

Installation registers the app with the operating system (a shortcut or app bundle, an entry in the OS app list, optional file and protocol handlers), and uninstallation reverses those registrations through whichever surface the platform provides. MDN documents that uninstalling "does more than remove the PWA's icon" without enumerating the steps; the per-platform surfaces are:

| Platform | Where the uninstall action is (English UI) | What happens to site data |
|---|---|---|
| Chrome, desktop | `chrome://apps` › right-click › **Remove from Chrome…**; or the app window's three-dot menu › **Uninstall [app name]…** | A checkbox, **Also clear data from Chrome (…)**, offers to delete the origin's storage; left unchecked, the data stays with the Chrome profile |
| Edge, desktop | `edge://apps` › the app's **…** menu or Details › **Uninstall**; or the app window's **…** menu | Same checkbox pattern as Chrome |
| Windows 10 and 11 | Settings › Apps › Installed apps lists Chromium web apps alongside native apps, with the installing browser as publisher; **Uninstall** there hands off to the browser | Decided by the browser's dialog |
| macOS 14+ Safari web apps | Drag the app from `~/Applications/` (Finder) to the Trash | The web app's separate data store is removed with it |
| iOS and iPadOS 16.4+ | Long-press the icon › **Remove App** › **Delete App**; **Remove from Home Screen** keeps the app in the App Library | Deleting the app deletes its isolated storage; the Safari tab's data for the same origin is untouched |
| Android, Chrome WebAPK | Settings › Apps › the app › **Uninstall**, or drag the icon to **Uninstall** | Chrome keeps the origin's browser-profile storage; the WebAPK had no separate store |

Because an install belongs to the browser that made it, removing one browser's copy does not affect another's (the N+1 problem), and a page has no event for its own uninstallation: `appinstalled` has no counterpart, so sign-out, push-subscription cleanup, and server-side device records have no trigger from the uninstall itself. The practical consequence is a choice between storing nothing that needs cleanup (tokens that expire, subscriptions pruned server-side when pushes fail with `410 Gone`) and accepting that an uninstalled app leaves stale records behind.

## Observed behaviour

The following labels come from the English UI of each platform and from the vendor documentation listed under "See also".

:::observed
In Chrome on macOS and Windows (English UI), the installed app window's three-dot menu contains "Uninstall [app name]…", and confirming opens a dialog titled "Uninstall "[app name]"?" with the checkbox "Also clear data from Chrome ([origin])"; the same dialog appears from `chrome://apps` › right-click › "Remove from Chrome…". On iOS 16.4 and later (English UI), long-pressing a Home Screen web app shows "Remove App", and the following sheet offers "Delete App" and "Remove from Home Screen"; for a Home Screen bookmark (a site added without web-app mode on iOS 16.4 to 18) the sheet instead reads "Delete Bookmark", which is the distinction WebKit draws between web apps and bookmarks in its 16.4 Web Push post.
:::

Edge's documented route (`edge://apps` › Open › Details › Uninstall) ends in the same browser-owned dialog, and Windows Settings › Apps forwards to it rather than deleting files itself. A page cannot detect any of this; `getInstalledRelatedApps()` reports a related app's presence only while it is installed, from the same browser, and only when the manifest lists it, so a drop from one result to zero is the nearest signal, and it is observable only on the next visit in a tab.

## See also

- [Installing and uninstalling web apps](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Installing) (developer.mozilla.org)
- [The UX of PWAs in Microsoft Edge](https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/ux) (learn.microsoft.com)
- [Web Push for Web Apps on iOS and iPadOS](https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/) (webkit.org)
- [The N+1 install problem](/reference/installation/n-plus-one/)
- [Desktop installation](/reference/installation/desktop-install/)
- [iOS Add to Home Screen](/reference/installation/ios-add-to-home-screen/)
- [getInstalledRelatedApps()](/reference/installation/get-installed-related-apps/)