PWA stands for Progressive Web App, a website built with standard web technology that a browser can install and launch like a platform-specific app. The name traces to a June 15, 2015 post by Alex Russell, who credits Frances Berriman and called them "Progressive Apps". The baseline for installing is a linked web app manifest and HTTPS. The manifest format is a W3C specification, but "PWA" itself is a label, not a standard.
Three pieces do the work, and only two of them are required for installation.
<link rel="manifest" href="manifest.webmanifest">. The W3C spec (a Working Draft) says every member is optional. Its members include name, short_name, start_url, display, icons, id, scope, theme_color, background_color, shortcuts and color_scheme_dark.Browsers set their own bar for the install prompt. For Chromium-based browsers, MDN lists these manifest requirements: name or short_name, icons including a 192px and a 512px image, start_url, display or display_override, and prefer_related_applications either false or absent. The manifest media type is application/manifest+json, and the registered file extension is .webmanifest.
This manifest was parsed with Node 22 and checked against that list:
{
"name": "CycleTracker",
"short_name": "Cycle",
"start_url": "/",
"display": "standalone",
"theme_color": "#1b5e20",
"background_color": "#ffffff",
"icons": [
{ "src": "/icons/192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icons/512.png", "sizes": "512x512", "type": "image/png" }
]
}
ok name or short_name
ok start_url
ok display or display_override
ok 192px icon
ok 512px icon
ok prefer_related_applications not true
No, a service worker is not required for installability. MDN's minimum requirements are the manifest and a secure origin, and it notes that many PWAs add a service worker for offline support. If you want the app to load with no network, you still need one.