Adding a manifest by hand
Get valid JSON without memorising which fields the install prompt actually requires.
Build a valid manifest.webmanifest field by field, with live JSON and a copy button.
{
"id": "/",
"name": "My Web App",
"short_name": "MyApp",
"description": "",
"start_url": "/",
"scope": "/",
"display": "standalone",
"orientation": "any",
"theme_color": "#7C4DFF",
"background_color": "#0B0B12",
"lang": "en",
"dir": "auto",
"icons": [
{
"src": "icons/icon-72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "icons/icon-96.png",
"sizes": "96x96",
"type": "image/png"
},
{
"src": "icons/icon-128.png",
"sizes": "128x128",
"type": "image/png"
},
{
"src": "icons/icon-144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "icons/icon-152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "icons/icon-180.png",
"sizes": "180x180",
"type": "image/png"
},
{
"src": "icons/icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/icon-256.png",
"sizes": "256x256",
"type": "image/png"
},
{
"src": "icons/icon-384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "icons/icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
],
"categories": [
"utilities",
"productivity"
],
"shortcuts": [
{
"name": "Open MyApp",
"short_name": "Open",
"url": "/",
"icons": [
{
"src": "icons/icon-192.png",
"sizes": "192x192"
}
]
}
]
}
Save it at your web root as /manifest.webmanifest and link it with <link rel="manifest" href="/manifest.webmanifest">. Icon paths point at /icons/ — generate those with the App Icon Generator.
Toolspea Web App Manifest Generator produces a valid manifest.webmanifest from a form covering id, name, short name, description, start URL, scope, display mode, orientation, theme and background colours, language, categories, shortcuts and icon entries. The JSON updates live as you type and can be copied or downloaded.
Get valid JSON without memorising which fields the install prompt actually requires.
Compare your existing manifest against a known-good one to spot the missing scope or icon size.
Turn a website into a full-screen Android Studio WebView project — icon, splash, permissions and all.
Generate the manifest, icons, service worker and offline page a website needs to become installable.
One square image in, every PWA and Android launcher icon out — including maskable and favicon.ico.
Clone a public website and download HTML, CSS, JavaScript, images and fonts as a ZIP.
Hand-picked hubs, guides and companion tools related to this page.
Last reviewed 2026-08-15. Browse the full directory.