🌐
web.dev
web.dev › learn › pwa › progressive-web-apps
Progressive Web Apps | web.dev
While Apple has never used the term PWA in public, they've been supporting the technologies to make a PWA installable and offline-capable since 2018 on Safari for iPhones and iPads.
🌐
Can I Use
caniuse.com
"PWA" | Can I use... Support tables for HTML5, CSS3, etc
"Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.

type of web application that can be cached through network and works as a standard native app

A progressive web application (PWA), or progressive web app, is a type of web app that can be installed on a device as a standalone application. PWAs are installed using the offline … Wikipedia
🌐
Wikipedia
en.wikipedia.org › wiki › Progressive_web_app
Progressive web app - Wikipedia
November 2, 2025 - Because a PWA is delivered in the ... browser. As of 2025, PWA features are supported to varying degrees by Google Chrome, Apple Safari, Brave, Firefox for Android, Microsoft Edge, and Firefox for Windows....
🌐
Mozilla
developer.mozilla.org › en-US › docs › Web › Progressive_web_apps › Guides › Making_PWAs_installable
Making PWAs installable - Progressive web apps | MDN
It supports the Google Play Store, Microsoft Store, Meta Quest Store, and iOS App Store. If you have added your app to the app store, users can install it from there, just like a platform-specific app. When a supporting browser determines that a web app meets the installability criteria described ...
🌐
Vaadin
vaadin.com › pwa › learn › browser-support
Progressive Web App Browser Support & Compatibility | Vaadin
All major browsers are shipping PWA technologies either in their stable or preview versions. Track progressive web app browser support here.
🌐
GoodBarber
goodbarber.com › blog › popular articles › progressive web apps browser support & compatibility
Progressive Web Apps browser support & compatibility
October 24, 2023 - Progressive Web Apps browser support & compatibility · Another particular thing about PWA's is that even though they run via a browser, they can be installed directly onto the user's home screen and they offer an experience on an immersive, full screen. This behavior is possible thanks to a JSON Manifest that is actually a descriptive file allowing developers to control the way the Progressive Web App behaves.
Rating: 4.5 ​ - ​ 463 votes
Top answer
1 of 3
8

Actually you can try https://whatwebcando.today/ for test your browser first

2 of 3
7

Web App Manifest, and Service Worker API seem to be the key technologies to watch. Google's Progressive Web App Checklist mentions both of these technologies.

However, other technologies such as BeforeInstallPromptEvent, or PWA installation notifications, are explicitly discouraged by Mozilla Developer Network, MDN:

Do not use it [BeforeInstallPromptEvent] on production sites facing the Web

Also, as an aside, commercial incentives for PWA's appear to exist:

The Supreme Court signaled Apple could face a revived antitrust lawsuit over its price control [...and 30% take] of the iPhone and iPad App Store. -Fortune

Google indicates that a progressive web app, PWA, is:

  • Progressive - Works for every user, regardless of browser choice because it's built with progressive enhancement as a core tenet.
  • Responsive - Fits any form factor: desktop, mobile, tablet, or whatever is next. Connectivity independent - Enhanced with service workers to work offline or on low-quality networks.
  • App-like - Feels like an app, because the app shell model separates the application functionality from application content .
  • Fresh - Always up-to-date thanks to the service worker update process.
  • Safe - Served via HTTPS to prevent snooping and to ensure content hasn't been tampered with.
  • Discoverable - Is identifiable as an "application" thanks to W3C manifest and service worker registration scope, allowing search engines to find it.
  • Re-engageable - Makes re-engagement easy through features like push notifications.
  • Installable - Allows users to add apps they find most useful to their home screen without the hassle of an app store.
  • Linkable - Easily share the application via URL, does not require complex installation.
🌐
Firt
firt.dev › notes › pwa
Progressive Web Apps Compatibility - firt.dev
This list describe where PWAs can be installed, creating an icon in the OS with a standalone experience ... On Android, browsers won't be able to install PWAs if the device is in kiosk mode or using some alternative home screen launchers.
Find elsewhere
🌐
Intercom
intercom.help › progressier › en › articles › 5703021-on-what-devices-can-you-install-a-pwa
On what devices can you install a PWA? | Progressier Help Center
in 2025, nearly all major operating systems and browsers allow the installation of Progressive Web Apps. Here is a list of operating system/browser combinations that support adding PWAs to a device's home screen, desktop or dock:
🌐
Tigren
tigren.com › home › magento 2 progressive web app › top 10+ browsers that support progressive web apps (updated 2022)
Top 10+ Browsers That Support Progressive Web Apps (Updated 2022)
August 4, 2025 - Mobile browser (Partial Support/Outdated Version): QQ Browser, Android Browser, Opera Mobile · Besides many PWA supported browsers, there are several browsers that do not actively support the custom elements required for Angular 6 or PWAs.
🌐
Reddit
reddit.com › r/browsers › other browser with good "pwa" support?
r/browsers on Reddit: Other browser with good "PWA" support?
May 6, 2024 -

I've always loved Chrome/Chromium's "Create Shortcut" feature, which you can use for ANY website to make it work like a desktop app. Works wonder on Mac and Windows, the app has its own window, can be pinned to the taskbar/dock, to the start menu/launchpad, appears in alt+tab…

When I tested some time ago, I couldn't find another browser which implement anything close. The best you get is just an icon in the taskbar that activates the tab in the browser once clicked. Current Edge's implementation on Windows is not the worst, but is there anything nearly as good as what Chrome does?

🌐
Mozilla
developer.mozilla.org › en-US › docs › Web › Progressive_web_apps
Progressive web apps | MDN
PWAs should adapt to different browsers and devices, be accessible, have good performance, and integrate well with the operating system.
🌐
Kabachnik
a.kabachnik.info › pwa-tester.html
PWA browser-checker: Does my browser support Progressive Web Apps?
Each of these features depend on a specific browser API, most of which are not yet widely supported. However, as a key principle of PWA - "progressive enhancement" - suggests, these apps shold run on any browser, but some PWA features will not be available if the corresponding API is not (yet) supported by the browser.
🌐
Mozilla
developer.mozilla.org › en-US › docs › Web › Progressive_web_apps › Guides › Installing
Installing and uninstalling web apps - Progressive web apps | MDN
Whether the PWA can be installed by the browser on the operating system differs by browser/operating system combination. Most browsers support installing PWAs on all operating systems—ChromeOS, macOS, Windows, Android, Linux, etc.—directly or when an extension is installed.
🌐
Firt
firt.dev › pwa-2021
Progressive Web Apps in 2021 - firt.dev
Let's see a summary and what has changed in the past year. ... Browser: Chrome (WebAPK), Samsung Internet (WebAPK on Samsung devices), Firefox, Edge, UCWeb, Opera, Baidu, Brave, Huawei ... This data shows an increase of 2%-4% from a year ago.
🌐
web.dev
web.dev › learn › pwa › installation
Installation | web.dev
Note: Chromium-based browsers on desktop let you see all the installed PWAs with that browser using about:apps. Only standalone and minimal-ui display modes are supported on desktop operating systems.
🌐
Pixel Free Studio
blog.pixelfreestudio.com › home › how to achieve cross-browser compatibility for progressive web apps (pwas)
How to Achieve Cross-Browser Compatibility for Progressive Web Apps (PWAs)
July 31, 2024 - Progressive enhancement is a strategy where you start with a basic level of functionality that works on all browsers and then add enhancements for browsers that support more advanced features. This approach ensures that all users have a functional experience, regardless of their browser. For example, you might start with basic HTML and CSS for layout and styling and then add JavaScript enhancements for modern browsers: <!-- Basic functionality --> <div class="app"> <h1>Welcome to My PWA</h1> <p>Content goes here.</p> </div> <!-- Enhanced functionality for modern browsers --> <script> if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/service-worker.js').then(registration => { console.log('Service Worker registered with scope:', registration.scope); }).catch(error => { console.error('Service Worker registration failed:', error); }); } </script>
🌐
Opensource.com
opensource.com › article › 22 › 10 › pwa-web-browser
A PWA is the web browser | Opensource.com
The base requirements of a PWA allow offline behavior through the service worker, and the manifest.json file allows "add to home screen" behavior on Android, where your website gets added as an icon to the home screen and opens with no-browser Chrome (in fullscreen) with an app splash page.
Top answer
1 of 3
1

Sorry to tell you: this is not supported by all browsers. As the documentation on MDN shows: Firefox and Safari don't support this feature.

Firefox would need a PWA Extension (who installs this?).

iOS does not support this kind of installation - the user must do this manually - you could show some instructions to the users, as it is described here This seems to be valid independent of the browser in iOS - see this article

2 of 3
0

Not the best answer, but maybe will help someone...

So I ended up doing this (in Typescript):

   const checkIfCanInstallPWA():Promise<false| Event> {
     return new Promise((resolve, _reject) => {
        const timeout = setTimeout(() => {
            resolve(false);
        }, 1000);

        window.addEventListener('beforeinstallprompt', 
            (_event) => {
            _event.preventDefault();
            clearTimeout(timeout);
            resolve(_event);
        });
      })
    }

And then when you need the logic\prompt the installation:

  // the logic, inside a component etc.
  const installationEvent: false| Event  = await checkIfCanInstallPWA();
  if (!installationEvent) {
     // can't install PWA
     // do stuff like hide the button... 
  } else {
      somePersistantStae.installationEvent = installationEvent;
  }

Then when you want the user to get the installation prompt:

   // when the user clicks the install button
   const clickInstall = () => somePersistantStae.installationEvent.prompt()
  

It's not pretty, I know...

Conclusions:

  1. The beforeinstallprompt event fires if the browser is "willing" to install this PWA. Why this PWA? because for example in chrome, it won't install if the splash icon is not a perfect square or its size is smaller than 144x144px. So, the browser might not support installation of PWA in general, or might not want to install your specific PWA (this is still experimental as you can see here. So the "falsie" answer could come from a number of different reasons.
  2. If the browser "is willing" to install, The event object can be used even after several minutes (to my surprise)
  3. Even though it's a hacky solution its the only one that gave me the ability to place the install button somewhere in my app, and have the users install the PWA whenever they want (and not prompt them on the first page load, which is annoying IMO).
🌐
Microsoft Learn
learn.microsoft.com › en-us › microsoft-edge › progressive-web-apps
Overview of Progressive Web Apps (PWAs) - Microsoft Edge Developer documentation | Microsoft Learn
PWAs provide native-like experiences to your users on supporting devices. They adapt to the capabilities supported by each device and they can also run in web browsers, like websites.