Web App Manifest Builder

Generate a basic manifest.json for an installable PWA.

Open tool

Overview

The Web App Manifest Builder generates a manifest.json (or manifest.webmanifest) file for a Progressive Web App, covering the required fields (name, short_name, start_url, display, icons) plus optional ones (theme_color, background_color, scope, orientation, categories, screenshots, shortcuts). It produces a copy-ready JSON file plus the <link rel="manifest"> snippet.

Useful for developers and product teams learning how to write a web app manifest or how to make a PWA installable. Reach for it adding install-to-home-screen capability, customising the splash screen and icon, or qualifying for the install prompt on Chromium browsers.

How it works

The Web App Manifest spec defines the JSON schema browsers read to learn how to render a PWA when launched from the home screen. Chromium, Edge, and Safari (with partial support) all read manifest.webmanifest (or manifest.json) when linked from a page via <link rel="manifest" href="...">. Installation requires at minimum: a manifest with name/short_name, a start_url, a display mode of standalone or fullscreen, and at least one 192x192 or larger icon.

The builder validates required fields, recommends two icons (192x192 for the install prompt, 512x512 for the splash screen), and emits an icons[].purpose of maskable when an adaptive icon URL is supplied so Android can crop into a circle, squircle, or square.

Examples

  • A minimal PWA → name, short_name, start_url: "/", display: "standalone", one 192x192 icon, one 512x512 icon.
  • A branded splash → theme_color, background_color, plus a maskable 512x512 icon.
  • A multi-shortcut PWA → shortcuts array linking to top features from the launcher.
  • A localised manifest names the app differently per language using lang and dir.

FAQ

manifest.json or manifest.webmanifest?

Either works. .webmanifest is the standard MIME type and conventionally used; .json is also accepted. Make sure the server sends Content-Type: application/manifest+json.

Why isn't my install prompt showing?

Chrome's install prompt requires HTTPS, a valid manifest with the required fields, a 192x192 or larger icon, a registered service worker that handles fetch, and engagement heuristics (the user must visit and interact).

What's a maskable icon?

A maskable icon includes a safe zone (the inner 80%) so Android can crop the outer edge into any platform shape (circle, squircle, square). Non-maskable icons get a white background plate.

display: standalone vs fullscreen?

Standalone hides the browser chrome but keeps the OS status bar. Fullscreen hides everything — appropriate for games or kiosk apps.

Try Web App Manifest Builder

An unhandled error has occurred. Reload ×