What you need
- A website that runs from its own files — hand-written HTML, a framework's build output (
dist/,build/,out/), an exported HTML5 game or a PWA. - A square icon, ideally 512 × 512 PNG with the artwork away from the edges.
- An Android phone to install the result on. No Android Studio, JDK or command line on your computer.
1. Put the site in one folder
Everything the site loads — pages, stylesheets, scripts, images, fonts, JSON — goes inside one folder, with index.html at its top level. If you use a framework, this folder is the build output, not the project: run the production build first, and use the folder it writes.
2. Run three pre-flight checks
Each of these is a common first-build failure that looks fine on your computer:
- No links start with
/.href="/css/style.css"works on a web server and 404s in the app. Usecss/style.css. The paths reference explains why. - File names match their links exactly, including capitals.
Logo.pnglinked aslogo.pngworks on Windows and macOS, not on Android. - Nothing essential comes from a CDN — or the app will be unstyled when offline.
3. Zip the contents, not the folder
Open the folder, select everything inside it and compress the selection. The builder also accepts a ZIP whose only item is the folder — it strips a single wrapper automatically — but zipping the contents is the habit that never goes wrong, especially when the project folder holds more than the site.
cd my-site
zip -r ../my-site.zip . -x "*.DS_Store" -x "__MACOSX/*"
Check the size: the free plan builds sites up to 5 MB zipped, Pro up to 18 MB. Over the limit, the size treemap shows what to cut first.
4. Fill in the builder
Open the builder, choose the file option and pick your ZIP (a single .html file works too). It unpacks the archive, finds the start page and shows the site in a phone preview before anything is built. Then work through the steps:
| Step | What to enter | Plan |
|---|---|---|
| App info | Name (shown under the icon), icon, theme colour for the status bar | Free |
| Pull refresh & page loader | Swipe-to-refresh and a loading indicator between pages | Free |
| Package & version | Package name such as com.yourname.menu — permanent — and a version | Free |
| Splash, onboarding, bottom tabs | Launch screen, intro slides, native tab bar | Pro |
| Permissions, push | Camera / microphone / location; OneSignal push notifications | Pro |
5. Build, download, install
Start the build. Your files are packaged into the app runtime, configured with your settings and signed in the cloud; it takes a few minutes. Download the APK to your phone (or send it there), tap it, and allow your browser or file manager to install unknown apps when Android asks. The icon appears on the home screen, and the app opens your index.html — with no connection needed.
Next: open the app, then switch on airplane mode and open it again. Anything that breaks now depends on the network — the offline checklist covers each case.