PWAs on Firefox
Published Updated
In one line: Firefox 143 (released 2025-09-16) lets Windows users pin a website to
the taskbar and run it as a web app in a simplified window; Firefox for Android installs
PWAs from the manifest; neither fires beforeinstallprompt, so install-flow code must
not assume a prompt exists.
What installing means on Firefox
Section titled “What installing means on Firefox”Since Firefox 143, per the release notes, Firefox on Windows “supports running
websites as web apps pinned directly to the taskbar” — simplified windows launched
from the taskbar that keep the user’s installed add-ons. The release notes also state
that the feature “is not currently available for Firefox installs from the Microsoft
Store”. There is no in-page install icon and no way for the manifest alone to produce
that window; the user pins the site from Firefox’s own UI. On macOS and Linux desktop
Firefox still has no manifest-driven install flow. Per MDN’s BeforeInstallPromptEvent
page, the interface is non-standard and primarily implemented by Chromium-based
browsers, so no version of Firefox fires it.
Feature detection and fallback
Section titled “Feature detection and fallback”Code that offers an “Install app” button must not assume the install APIs exist:
<button id="install-button" hidden>Install app</button><p id="install-instructions" hidden> This browser doesn't support one-click install from this page. Bookmark it, or use this tab as an ordinary browser tab — some browsers offer their own "Add to Home screen" option in their menu, but not all do.</p>
<script> let deferredPrompt = null; const installButton = document.getElementById('install-button'); const installInstructions = document.getElementById('install-instructions');
function showManualInstallInstructions() { installInstructions.hidden = false; }
if (!('onbeforeinstallprompt' in window)) { // Unsupported here (e.g. desktop Firefox, or Safari): the event never // fires, so point the user at manual alternatives instead of showing a // dead install button. showManualInstallInstructions(); } else { window.addEventListener('beforeinstallprompt', (event) => { event.preventDefault(); deferredPrompt = event; installButton.hidden = false; });
installButton.addEventListener('click', async () => { if (!deferredPrompt) return; deferredPrompt.prompt(); deferredPrompt = null; }); }</script>The fallback text above deliberately doesn’t claim every such browser has its own “Install” menu item: per MDN, desktop Firefox does not support installing a PWA from its manifest, so the honest guidance there is “use it as a normal tab, or bookmark it.” Firefox for Android, by contrast, is grouped with Chrome, Edge, Opera, and Samsung Internet as a browser that does support installing PWAs from the manifest.
Where it is supported
Section titled “Where it is supported”Per MDN, Firefox for Android supports installing PWAs from the manifest, alongside Chrome, Edge, Opera, and Samsung Internet on Android. On desktop, Firefox 143 and later on Windows offer taskbar web apps (release notes, 2025-09-16); Firefox on macOS and Linux has no manifest-driven install flow, which makes it the exception among major desktop engines where Chromium-based browsers install from the manifest.
Practical checklist
Section titled “Practical checklist”- Never gate core functionality behind installation succeeding — desktop Firefox users must be able to use the app fully as an ordinary tab.
- Feature-detect
beforeinstallpromptsupport rather than assuming every browser fires it; branch to manual instructions when it does not. - Don’t assume the rest of the app’s functionality depends on installation — design the core experience to work as an ordinary browser tab first.
- Don’t advertise an “Install” button unconditionally; show it only once
beforeinstallprompthas actually fired, or replace it with browser-specific guidance on Firefox. - Re-check this position periodically — Mozilla’s browser feature set changes independently of the underlying web specs this entry is not describing.
Where to go next
Section titled “Where to go next”- PWAs on iOS and Safari — another platform with its own install-flow constraints distinct from Chromium’s.
- PWAs on Chrome and Android — the
beforeinstallprompt-driven install flow this entry’s fallback code branches away from on Firefox.