Where an Android app's size actually comes from
An app built from a website has three parts, and only one of them is yours:
- The runtime — the Android wrapper: activity code, AndroidX libraries, resources. Roughly 4–5 MB for a WebView app, and near enough fixed no matter what your site contains.
- Your web content — only if you bundle it. An app that loads a live URL ships none of it.
- Optional SDKs — push messaging, analytics, ads. Each one adds one to several megabytes, and they are the reason apps quietly grow between releases.
The calculator above measures part two properly. Rather than multiplying by an assumed ratio, it runs your files through the browser's own deflate compressor — the same algorithm that packs an APK — so text-heavy sites show their real, dramatic savings and already-compressed media shows its real lack of them.
APK size vs. what users actually download
These are different numbers, and the gap trips people up. An APK is one file containing every resource for every device. An AAB (Android App Bundle) is what you upload to Play now; Play generates a device-specific APK from it, dropping the screen densities, languages and CPU architectures that device does not need. Typical saving is 20–35%, which is why the two estimates above differ.
The number that matters commercially is the Play download size, because that is what appears on your store listing and what a user on a metered connection weighs before tapping Install.
| Threshold | What happens |
|---|---|
| ~15 MB | Nothing technical — but install conversion measurably drops as size climbs past this on slow connections. |
| 200 MB | Maximum size for a single AAB-generated download without extra configuration. |
| 150 MB | Hard ceiling for a plain APK upload. Above this you need an App Bundle. |
| 4 GB | Absolute limit including asset packs. If you are near this, an app is the wrong container. |
What actually reduces size
- Do not bundle media. One 20 MB intro video outweighs every HTML, CSS and JS file you will ever write. Stream it.
- Convert images to WebP. A 25–35% saving over PNG and JPEG at visually identical quality, and Android has supported it since 4.0.
- Ship the fonts you use. A full variable font family is often 1–2 MB. Subset it to the characters and weights you actually render.
- Drop unused libraries. A jQuery plus Bootstrap plus icon-font stack that supports three components is pure weight.
- Skip source maps and originals.
.mapfiles, PSDs and unminified copies routinely end up inside a ZIP by accident. They are dead weight in the app. - Upload an AAB, not an APK. Free saving, no work — just a different build target.
Bundled or online: the size trade
Bundling makes your app work offline and load instantly, at the cost of shipping every byte in the download and needing a new release to change a page. Loading a live URL keeps the app at the runtime's baseline size and lets you update the site whenever you like, but every screen needs a connection and the first paint waits on the network.
Many apps end up in the middle: bundle the shell, the CSS and the icons; fetch the content. Our builder supports both modes, and switching the dropdown above shows what each one costs you.