zip to apk converter · docs · tools

ZIP to APK,
without the guesswork.

Upload a ZIP of your website and get a signed Android app that runs offline. Your files are served inside the app from a real https origin — so modern builds, ES modules and fetch() just work — and when something does not, the docs say exactly why.

no watermarkno Android Studioworks offline

5 / 18 MBzipped site, free / Pro
0watermarks, on any plan
https://origin — not file://
15 + 10docs and browser tools
// anatomy

What does a website ZIP become?

An ordinary Android app whose screen is your website. Every file in the ZIP is copied, unchanged, into the APK's assets/web/ folder; around it sit a manifest with your package name and version, launcher icons generated from your image, a small native shell and a signature.

Nothing is rewritten or minified on the way in — the page the app shows is byte-for-byte the page you zipped. That is why the preview in the builder is trustworthy, and why a bug is always findable in your own files.

How the build and runtime work →

my-site.zip
index.html
about.html
css/
  style.css
js/
  app.js
img/
  logo.webp
data/
  menu.json
app-release.apk
AndroidManifest.xml
classes.dex
res/mipmap-*/ic_launcher
assets/
  app_settings.json
  web/
    index.html
    about.html
    css/ js/ img/ data/
META-INF/ + v2 signature block
// pipeline

Four stages from upload to icon

About five minutes, most of it waiting for the cloud build. Nothing to install on your computer.

  1. 01

    Normalise

    In your browser

    The ZIP is opened in the page: macOS litter dropped, a single wrapper folder stripped, the start page chosen, the size checked. You see it running in a phone preview.

  2. 02

    Package

    In the cloud

    Your files go into the app's assets/web/ folder unchanged. Name, icon, colours, splash, tabs and permissions are written into the app's configuration.

  3. 03

    Sign

    In the cloud

    The APK is signed with the v1 and v2 signature schemes — a shared key on free, your own on Pro, which also gets an AAB for Google Play.

  4. 04

    Serve

    On the phone

    At launch, Android's WebView loads https://appassets.androidplatform.net/web/index.html — answered from inside the APK, with no network at all.

Convert a ZIP — free Read the quickstart

// runtime

Why does modern web code just work?

Because the app does not open your files as file://. It serves them from https://appassets.androidplatform.net/web/ — a hostname Android reserves for exactly this, answered from inside the APK. To your code it is an https website: module scripts load, fetch() reads your JSON, storage persists.

Two web-server habits do not carry over — paths that start with /, and routers that expect the server to answer every URL with index.html. Both have one-line fixes, and the build configurator writes them for your framework.

inside the app✓ works ◐ with setup ✕ change it
✓ES modules, dynamic import()Served from a real https origin
✓fetch() of bundled JSON / filesRelative to the page
✓localStorage, IndexedDBKept across updates
✓WebAssembly, Canvas, WebGL.wasm served as application/wasm
✓Audio & videoBundled or streamed
◐Camera, mic, locationPermissions step (Pro)
✕Root-relative /pathsUse relative paths
✕History-mode routingUse hash routing
✕Service workersNot needed — files are local
✕Web Share, Notification APICopy link · native push (Pro)
// works with

If it builds to static files, it converts

Each links to the doc with its settings.

// plans

Free to build. Pro to publish.

FreePro · $5/mo
Signed APK, no watermark✓✓
Zipped site size5 MB18 MB
AAB for Google Play—✓
Your own signing key—✓
Camera, mic, location, file uploads—✓
Splash, onboarding, native tabs, push—✓
Docs and tools✓✓

Full pricing →

// faq

ZIP to APK — common questions

What is a ZIP to APK converter?

A ZIP to APK converter takes a ZIP archive of a website — HTML, CSS, JavaScript, images and fonts — and packages it into an Android application package (APK). The files are bundled inside the app and shown in Android's WebView, so the result installs like any app and runs without a connection.

How do I convert a ZIP file to an APK?

Zip the contents of the folder that contains index.html, upload the ZIP to the builder, enter an app name, icon and package name, and start the build. A few minutes later you download a signed APK and install it on your phone. The quickstart walks through it.

Is ZIPtoAPK free?

Yes. The free plan builds signed APKs of sites up to 5 MB zipped, with no watermark and no expiry. Pro ($5/month, billed by Google Play) adds AAB output for Google Play, your own signing key, 18 MB bundles and native features.

Will my React, Vue or Angular build work?

Yes, with two settings: a relative base path so assets are not requested from the root, and hash-based routing. Module scripts work unchanged because the app serves files from a real https origin. The framework build configurator gives the exact config.

Does the app work offline?

Everything inside the ZIP works offline. Anything your pages load from other servers — CDN libraries, Google Fonts, API data — needs a connection unless you bundle it; the CDN localizer does that automatically.

Why does my APK show a blank screen?

Most often a script linked with a path that starts with /, which points outside the folder the app serves your files from, or a history-mode router that finds no route. Relative paths and hash routing fix both.

Can I publish the app on Google Play?

Yes, with Pro: Google Play requires the AAB format and a signing key you keep for every update, and Pro provides both.

Can I build an iPhone app?

No. ZIPtoAPK builds Android apps only.

Unzip it on a phone today

Upload the ZIP, name the app, pick an icon — and download a signed APK a few minutes later. Free builds, no watermark, no Android Studio.

Convert a ZIP — free site.zip → app-release.apk