HTMLtoApphtmltoapp.net Build free
pwa to apk

PWA to APK: put your progressive web app in the app drawer — and on Play

Already have a PWA? Ship the same code as a real APK with a native splash screen, bottom tabs and push — without Bubblewrap, Digital Asset Links or Android Studio.

Updated 2026-10-05Signed APK free · AAB with Pro

To turn a PWA into an APK, either zip its static build and bundle it offline in an HTML 2 APK builder, or convert its live URL with a website-to-app builder. Both produce a signed APK and, with Pro, an AAB for Google Play. Unlike a Trusted Web Activity, no Digital Asset Links file or Android tooling is needed.

Best for:
  • PWAs whose users ask "is there an app?"
  • PWAs that need a Play Store listing
  • Teams that want native push instead of Web Push
  • Apps that must open with no connection on first launch

Two routes, chosen by where your content lives

Bundle the build (ZIP)Wrap the live URL
AppHTML & ZIP to APK BuilderWebsite to App
Works on first launch offlineYesNo — needs a first load
Content updatesNew buildInstant — it is your site
Server-side features (SSR, auth cookies)Static onlyEverything your site does
Best forTools, games, offline-first appsShops, portals, content sites

What happens to the service worker

In a bundled app the files already live on the phone, so the service worker's offline cache is redundant. It is harmless to leave registered, but if your build uses Workbox with a hashed precache manifest, an old worker can serve stale files after you ship an update. The safest setting for an APK build is to skip registration when running inside the app:

const inApp = location.hostname === 'appassets.androidplatform.net'; if ('serviceWorker' in navigator && !inApp) { navigator.serviceWorker.register('/sw.js'); }

Your web manifest, mapped to the app

The APK does not read manifest.webmanifest; you enter the same values in the builder. name becomes the app name, the 512px icon becomes the launcher icon, theme_color becomes the status-bar colour, and background_color is a good splash colour (Pro). display: standalone is how every built app behaves anyway — no address bar.

Why not a Trusted Web Activity?

A TWA (Bubblewrap, PWABuilder) opens your PWA in Chrome itself, full-screen. It is a fine option, but it needs a hosted assetlinks.json on your domain, falls back to a browser bar if verification fails, depends on the user having Chrome, and cannot run offline from first launch. A WebView-based APK carries its own content and adds native splash, tabs and push. Comparison: PWA vs APK.

PWA to APK — questions

Is a PWA to APK conversion allowed on Google Play?

Yes, provided the app offers real functionality — Play's minimum-functionality rule. A useful PWA with push notifications or offline content qualifies.

Will Web Push from my PWA work in the APK?

No. The Notification API and Web Push are not available in Android WebView. Use the builder's native push notifications (Pro, via OneSignal) instead.

Do I need Digital Asset Links?

No. That file is only for Trusted Web Activities, which verify the domain before opening Chrome. A WebView APK needs no verification.

Can the APK still use my service worker?

It can, but in a bundled build the files are already local, so the cache adds nothing and can serve stale files after an update. Skipping registration inside the app is safer.

Your HTML is one upload away from an app

Install the free builder, drop in your HTML file or ZIP, and download a signed APK in a few minutes. No watermark, no card, no Android Studio.

Build my APK free