PWA Readiness Checker
Check if your site qualifies as an installable Progressive Web App. Tests manifest, service worker, icons, and offline support.
By Deepak Shukla — Founder & CEO, Pearl Lemon
What This Tool Checks
- Web App Manifest presence and required fields
- Service Worker registration and scope
- HTTPS (mandatory for installability)
- Icons in 192px and 512px sizes
- Display mode (standalone, fullscreen)
- Themed `theme_color` and `background_color`
Why This Matters
A PWA can be added to the home screen, run offline, and re-engage users with push notifications — without an app store, a native dev team, or Apple's 30% cut. Sites that meet the install criteria see 20–40% higher repeat-visit rates from mobile users.
How to Fix Issues
- 1.Add a manifest.json with name, short_name, start_url, display, icons
- 2.Register a service worker with at least a fetch handler
- 3.Provide 192×192 and 512×512 PNG icons (maskable variants recommended)
- 4.Serve everything over HTTPS — no exceptions
- 5.Set `display: standalone` so installed app opens chrome-less
Progressive Web Apps closed the gap between websites and native apps without forcing you to ship a binary through an app store. This checker validates whether your site meets the criteria browsers use to show the 'Install' prompt and run your site as a standalone app.
The four non-negotiable install criteria
Chrome (and every Chromium-based browser) will only show the install banner if all four conditions are met: a valid web app manifest, a registered service worker with a fetch handler, the page served over HTTPS, and icons at both 192×192 and 512×512. Miss any one and the user simply cannot install your site no matter how good the experience is.
The manifest is the spec sheet
manifest.json tells the OS how to treat your site once installed. name and short_name (used on the home screen and the splash screen). start_url (where the app opens — usually /?utm_source=pwa so you can attribute installed-user traffic). display: standalone (no browser chrome, looks like a native app). theme_color (the status-bar colour). background_color (the splash-screen background while the app boots). Get these wrong and your installed app looks broken before it loads its first byte.
Service worker — the engine of offline
The service worker is a JavaScript file that runs in the background, intercepts every network request, and can serve cached responses when the network is down. The simplest viable worker has a fetch event listener that does network-first with a cache fallback. Workbox automates the harder parts — pre-caching the app shell, runtime caching of API responses, background sync of failed mutations. Without a service worker your site is not installable and cannot work offline.
iOS reality check
Apple's support for PWA features has improved dramatically (push notifications landed in iOS 16.4, badging in 17), but it still trails Chrome and prefers apple-touch-icon and a few iOS-specific manifest fields. The checker flags the iOS-specific things so your install works equally well on iPhones as it does on Android.
When a PWA beats a native app
PWAs win when your audience is mobile-first but app-store-fatigued — utilities, news, content tools, internal apps for distributed teams. They lose to native when you need background location, deep OS integration, or a marketing presence inside the App Store search results. Most SaaS dashboards land squarely in the PWA-win zone.
Methodology
We fetch the URL, locate every <link rel="manifest"> tag, download and parse the manifest JSON, validate every required and recommended field per the W3C Web App Manifest specification, then probe each declared icon URL to confirm it exists and serves a valid image of the declared size. We separately check for service worker registration by parsing scripts in the response body for navigator.serviceWorker.register(...) calls and (when public) hitting the worker URL to confirm a 200. HTTPS is verified directly. The result mirrors the criteria Lighthouse uses to award its 'Installable' badge.
Frequently Asked Questions
Related Free Tools
Mobile-Friendly
Check if Google sees your page as mobile-friendly. Find viewport, tap target, and font-size issues that hurt mobile rankings.
Core Web Vitals
Test LCP, INP, and CLS for any URL. Get the same Lighthouse-grade scores Google uses to rank your pages.
Lazy Loading
Find images and iframes that should be lazy-loaded. See how many requests you can defer below the fold.
HTTP Status Code Reference
Understanding HTTP status codes helps you diagnose issues found by this tool: