1. Home
  2. Guides
  3. Convert a ZIP website to APK

Guide

How to convert a ZIP website to APK

Most real sites are a folder: an index.html plus CSS, JavaScript, images and fonts. Zip that folder and it becomes an app that carries the whole site inside it.

Updated 2026-10-183 min readBy the APK Maker team
Short answerZip your website folder so that index.html sits at the top level of the ZIP, use relative paths for every file, then choose the ZIP in HTML & ZIP to APK Builder and build. Every file is bundled into a signed APK that works offline.

Get the folder structure right

The single most common reason a ZIP app opens to a blank screen is structure. The builder looks for index.html at the top level of the ZIP.

my-site.zip
├── index.html        ← entry page, at the top level
├── about.html
├── css/style.css
├── js/app.js
└── img/logo.png

If you right-click the folder itself and compress it, many systems create my-site.zip/my-site/index.html — one level too deep. Instead, open the folder, select everything inside it, and compress the selection.

Use relative paths

Inside the app your files are served from a local location, not from your domain. Paths must be relative to the page that uses them:

  • ✅ <link href="css/style.css">, <img src="img/logo.png">, <a href="about.html">
  • ❌ /css/style.css (root-absolute), C:\Users\... or file:///...

File names are case-sensitive on Android: Logo.png and logo.png are different files, even if your computer treated them as the same.

Sites built with frameworks

For React, Vue, Svelte or Vite projects, zip the build output (usually dist/ or build/), not the source. Set the base path to relative (for Vite, base: './') and prefer hash-based routing so deep links resolve to index.html.

Keep the ZIP small

The free plan bundles up to 5 MB; Pro allows 18 MB. Compress images (WebP is well supported in Android WebView), remove source maps and unused files, and avoid shipping videos inside the app — stream them instead.

Build the APK

  1. Install HTML & ZIP to APK Builder.
  2. Choose ZIP and pick your file.
  3. Set the app name, icon, theme colour and package name.
  4. Build, download and install the APK, then test every page in flight mode.

Pre-flight checklist

Symptom in the appLikely causeFix
Blank white screenindex.html is inside a sub-folder of the ZIPZip the folder's contents, not the folder
Page loads without stylesRoot-absolute paths (/css/…)Change to relative paths (css/…)
Some images missingFile-name case differs (Photo.JPG vs photo.jpg)Make names match exactly
Works online, breaks offlineLibraries or fonts loaded from a CDNBundle them — see offline guide
Links to sub-pages 404Server-style routes (/about) with no fileLink to about.html or use hash routing
Build rejected as too largeBundle over 5 MB (free) or 18 MB (Pro)Compress images, remove unused files

Creating the ZIP on each system

  • Windows: open the folder, press Ctrl + A, right-click → Send to → Compressed (zipped) folder.
  • macOS: open the folder, press ⌘ + A, right-click → Compress. Finder also adds a hidden __MACOSX folder; it is harmless, or remove it with zip -d my-site.zip "__MACOSX/*".
  • Android: in Files by Google or your file manager, select the files inside the folder → Compress.
  • Command line: cd my-site && zip -r ../my-site.zip .

Make your APK now — free

No Android Studio, no code, no watermark. Pick what you are starting from:

Frequently asked questions

Why does my ZIP app show a blank screen?

Usually index.html is inside an extra folder in the ZIP, or the page uses root-absolute paths like /css/style.css. Put index.html at the top level and use relative paths.

Can I convert a React or Vue app to APK?

Yes. Zip the production build folder (dist or build) with a relative base path and hash routing, then build it like any other website ZIP.

Does a ZIP app need internet?

No. Every file in the ZIP is bundled into the APK. Only resources loaded from external URLs need a connection.