Build a standards-aligned Web App Manifest (manifest.json) for installable progressive web apps. Set display mode,
theme colors, icons (including maskable assets), optional shortcuts, and export valid JSON — everything runs in your browser with
no upload.
Provide at least 192×192 and 512×512 PNGs for install prompts on Chromium-based browsers. Add a maskable icon so adaptive icons look correct on Android.
Quick actions shown on long-press / right-click of the installed app icon (where supported).
{}
A web app manifest is a JSON document that tells the browser how your PWA should behave when installed: visible name, icon set, launch URL, display mode (standalone vs browser tab), theme colors for the status bar and splash screen, and optional shortcuts. It is part of the W3C Web Application Manifest family of standards. On Android, Chrome and other Chromium-based browsers use it together with HTTPS and a registered service worker to offer “Add to Home screen” and full installability checks.
DroidXP’s PWA Manifest Generator assembles a manifest.json from the fields you fill in. It keeps name and icons as the
minimum viable signal for most install UIs, adds theme_color / background_color for splash and system UI tinting, and lets you
declare scope so navigation outside your PWA’s URL space can fall back to the browser. You can add maskable icons for safe-area
padding on adaptive launcher grids, and shortcuts for deep links from the installed icon — all without sending data to our servers.
manifest.jsonsrc, sizes, type, and purpose/ for single-origin PWAs).src paths to real files on your server (export PNGs from your design or use DroidXP’s App Icon Generator).standalone) and tune theme / background colors.manifest.json, then link it from your HTML and register a service worker for offline/install features.
Place the file at a stable URL (many teams use /manifest.json or /site.webmanifest) and reference it from every page of your PWA:
<link rel="manifest" href="/manifest.json" />
Serve it with a JSON-compatible type (for example application/manifest+json or application/json) and keep icon URLs absolute or root-relative
so they resolve correctly from any route.
No. The generator runs entirely in your browser. Values you type never leave your device unless you choose to copy or download the file yourself. For proprietary apps, still follow your company’s security policy on local browsers.
Browsers generally expect a valid manifest with at least a name (or short_name), a start_url within
scope, a display mode such as standalone or fullscreen, and a sufficient icons set —
commonly including 192px and 512px bitmaps. Requirements evolve; always test in Chrome DevTools → Application → Manifest for your target channel.
name is the full application title (splash screen, install dialog). short_name is a shorter label for the home screen and other places with limited space. If short_name is omitted, browsers may truncate name instead.
Launcher grids on Android apply masks (circles, squircles). A maskable icon includes extra padding in the asset so important content stays inside the “safe zone” when cropped. Pair maskable entries with standard any purpose icons for best results across platforms.
start_url is the page opened when the app is launched from the home screen. scope defines which URLs are part of the installed experience; navigations outside scope may open in a normal browser tab. Both should stay under the same site origin you control.
The manifest describes install appearance and launch behavior. For offline support, push, and background sync you also need a service worker and a secure origin (HTTPS, except localhost during development). This tool only produces the manifest file.
Use application/manifest+json when your server allows it; application/json is widely accepted. Avoid serving HTML error pages at the
manifest URL — that breaks installability checks silently.