More guides

Setup guide · Angular

Turn an Angular app into an installable PWA (2026)

Angular 17+ PWA setup with ng add @angular/pwa, manifest configuration and an install popup.

By InstantPWA engineering·Web platform engineers, shipping PWAs since 2019·Last updated July 7, 2026

Key takeaways

  • `ng add @angular/pwa` wires up manifest + ngsw automatically.
  • ngsw is more strict than a hand-rolled worker — it manages versioned caches for you.
  • InstantPWA solves the cross-platform install UI ngsw does not provide.

Before you start

  • Angular 15+
  • Angular CLI
  • HTTPS origin

manifest.webmanifest

{
  "name": "Your product",
  "short_name": "Product",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#111827",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
  ]
}

Step-by-step for Angular

  1. Step 1
    Run ng add @angular/pwa

    Angular CLI generates manifest.webmanifest and wires ngsw-worker.js into your build.

  2. Step 2
    Edit manifest.webmanifest

    Update name, short_name, theme_color and icons.

  3. Step 3
    Add the install popup

    Paste the InstantPWA snippet into index.html <head>.

Minimal sw.js

// public/sw.js
self.addEventListener('install', (e) => self.skipWaiting());
self.addEventListener('activate', (e) => self.clients.claim());
self.addEventListener('fetch', () => {});

Common Angular gotchas

  • ngsw refuses to activate on http:// origins other than localhost. Deploy to HTTPS before testing.
  • Do not manually register a second sw.js — ngsw registers itself.

FAQ

Do I need a native app if my Angular site is a PWA?

No. Once your Angular site meets the three PWA criteria (HTTPS, a manifest, a service worker), Chromium browsers offer to install it and iOS Safari 16.4+ supports the full standalone experience — including web push.

Will a service worker slow my Angular site down?

Not measurably on first load. The worker installs asynchronously after the page becomes interactive. On repeat visits it typically improves LCP and TTFB because assets are served from cache.

Can I still deploy my Angular site to Vercel, Netlify or Cloudflare?

Yes. Any static or edge host works — the manifest and service worker are plain files served from the origin. No build-time integration is required.

Skip the setup — drop in one line

InstantPWA handles the install prompt across iOS, Android and desktop. Free forever for one popup.

Get started free