Info General

Missing Web App Manifest — Enable "Add to Home Screen" and PWA Features

A web app manifest enables "Add to Home Screen" on Android and PWA support.

What is a web app manifest?

A web app manifest (manifest.json or site.webmanifest) is a JSON file that provides metadata about your web application. It tells browsers how your app should behave when installed on a user's device.

What it enables

  • "Add to Home Screen" — The install prompt on Android Chrome
  • App-like experience — Opens without browser chrome (fullscreen or standalone)
  • Custom icon and name — How your app appears on the home screen
  • Splash screen — A loading screen when the app launches
  • PWA features — Service workers, offline support, push notifications
  • App stores — Required for submitting PWAs to Google Play via TWA

How to fix it

1. Create the manifest file

Create site.webmanifest in your public directory:

{
  "name": "Your App Name",
  "short_name": "App",
  "description": "A brief description of your app",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#4285f4",
  "icons": [
    {
      "src": "/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}

2. Link it in your HTML

<link rel="manifest" href="/site.webmanifest" />

Key manifest properties

Property Description
name Full app name (shown in install dialog)
short_name Short name (shown under home screen icon)
start_url URL to open when the app launches
display Display mode: standalone, fullscreen, minimal-ui, browser
theme_color Toolbar color (matches the theme-color meta tag)
background_color Splash screen background color
icons Array of icon objects with src, sizes, and type

Best practices

  1. Provide multiple icon sizes — At minimum 192x192 and 512x512
  2. Use standalone display — For the most app-like experience
  3. Set start_url to "/" — Or a specific landing page for installed users
  4. Include a maskable icon — For adaptive icon support on Android
  5. Validate — Use Chrome DevTools > Application > Manifest to check

Related articles