What the manifest controls
A web app manifest is a small JSON file your website links to. Browsers read it to offer "Add to home screen", and it decides what that shortcut looks like: its name and short name under the icon, the icons themselves, the theme colour painted onto the Android status bar, the background colour shown while the page loads, and the display mode — standalone hides the browser UI so the site opens like an app, fullscreen hides the status bar too.
It is the lightest possible version of making a website into an app: no APK, no store, and no install prompt on iOS beyond Safari's share menu. It is also worth having alongside a real app, because the same theme colour, name and icon carry straight over.
Fields worth getting right
- Start URL and scope. The page the shortcut opens, and the set of URLs the app "owns". Navigating outside the scope drops back to a browser tab, which is the web equivalent of the external-link rule in a WebView app.
- Icons. At least 192×192 and 512×512 PNGs. Add a
maskableicon with the artwork in the safe zone so Android can crop it to the launcher's shape, exactly as with an adaptive app icon. - Theme colour. Your header colour. The status bar matches it, so the top of the screen is not a stranger's grey.
- Orientation. Leave it at
anyunless the site genuinely only works portrait.
manifest.json is not AndroidManifest.xml
The names collide and the jobs do not. manifest.json tells a browser how to present your site. AndroidManifest.xml tells Android what an app is — its package name, permissions and activities — and the builder generates it for you when you make a real app. If you are heading straight for an APK you do not need a web manifest; if you want the browser-installable version as well, or as a first step, this is it. When you later convert the same site to an app, reuse the icons and theme colour here. When a real app is worth it →