How to convert a ZIP file to an APK
Four steps, about five minutes, nothing installed on your computer. Your files are bundled inside the app, so the finished APK works with no internet connection.
-
1
Zip your project
Put index.html at the top level of the folder, then compress the folder. Any site made of HTML, CSS, JavaScript and images qualifies — hand-written, exported from a builder, or a React/Vue/Vite production build.
-
2
Upload the ZIP
Drop the archive on the builder. It is unpacked, index.html is located, and the file list is checked for the things that break inside an app before a build is spent.
-
3
Name it, icon it, version it
App name, launcher icon, package name and version. Each is validated against Android's rules as you type — a bad package name fails in a second, not after a five-minute build.
-
4
Download the APK
A real Android project is generated around your files and compiled in the cloud. You get a signed APK to install straight away, or an AAB for Google Play with Pro.
What is a Zip to APK converter?
A Zip to APK converter takes a ZIP archive of web files — HTML, CSS, JavaScript, images, fonts — and packages them inside a native Android app, producing an installable APK file. The pages run inside an Android WebView, so anything that works in Chrome on Android works in the app, and because the files travel inside the APK the app opens instantly and works offline.
This one is free to use. The free tier builds signed, installable APKs with no watermark, no expiry and no card. Pro adds an AAB for Google Play, your own signing key, splash screens, native tabs, onboarding and push notifications. The same builder also accepts a single HTML file and a live website URL, but the ZIP route is the one built for real projects: multiple pages, folders, assets, all offline.
Why a ZIP is the best way to build an APK from web files
A ZIP carries your whole project — every page, every folder, every asset — in one upload. The build unpacks it exactly as you zipped it.
Keeps your folder structure
Multi-page sites, css/, js/, images/, sub-folders, relative links between pages — all preserved. The only rule is that index.html sits at the root of the archive. Everything else is up to you.
Opens instantly, works offline
Files are read from inside the APK, not fetched over the network. No loading spinner, no "no connection" screen, no hosting bill.
Signed and installable
Every APK is signed, so it installs on any Android 7.0+ phone. Pro lets you upload your own keystore.
Any framework's build folder
Zip the dist/ or build/ output of React, Vue, Svelte, Angular or Vite and it converts like any other site — set a relative base path first.
Checked before it builds
Missing index.html, nested folders, absolute paths and module scripts are caught at upload time, with a fix suggested for each.
APK now, AAB for Play
The free tier gives you a signed APK for direct install. Pro produces the App Bundle Google Play requires, from the same ZIP.
ZIP, HTML file or URL — which should you upload?
Three inputs, one builder. The answer depends on whether your project is one file, many files, or already hosted.
| ZIP file to APK | HTML file to APK | Website URL to APK | |
|---|---|---|---|
| Best for | Multi-page sites, apps with folders, framework builds, HTML5 games | A single self-contained page | A site that is already online and changes often |
| Works offline | Yes — everything is inside the APK | Yes | No — needs a connection |
| Updates | Rebuild with a new ZIP and a higher version code | Rebuild | Change the site; the app follows |
| Hosting needed | None | None | Yes, permanently |
| Size limit | 5 MB free · 18 MB Pro | 5 MB free · 18 MB Pro | n/a |
| Typical use | Portfolio, brochure app, calculator, quiz, game, documentation, offline catalogue | Landing page, single tool, timer | Shop, blog, dashboard, member area |
Can I convert a single HTML file to an APK?
Yes — the same builder converts HTML to APK from a single file. If your styles and scripts are inline, upload the .html file directly and it becomes the app's only page. If the file references style.css or app.js next to it, zip the folder instead so those files travel with it; a lone HTML file cannot reach files that were never uploaded.
Either way the result is identical: a signed APK that bundles your page and opens it in a full-screen WebView. The HTML to APK without Android Studio guide walks through the single-file route in detail.
What about a website that is already online?
Paste the address and the builder produces an APK that opens your live site in a WebView — no ZIP needed. Choose this when the content changes often or depends on a server (a shop, a blog, a members' area). The trade-off is that the app needs a connection every time it opens, and you keep paying for hosting. For content that can live on the phone, the ZIP route is faster to open and free to run.
A live address is its own kind of conversion, and websitetoapk.dev is the builder built for it — paste the URL there and it produces the app. Come back here when you have files to bundle instead.
What does the ZIP need to contain?
One thing is required: an index.html at the root of the archive. Everything else — folders, additional pages, CSS, JavaScript, images, fonts, JSON — is optional and copied as-is. The most common mistake is zipping the folder's parent, so the archive opens as my-site/index.html instead of index.html; the builder detects that and tells you, and the ZIP Checker tool finds it before you even sign in.
- index.html at the root
- Relative paths (
css/x.css, not/css/x.css) - Classic scripts, not
type="module" - Under 5 MB free · 18 MB Pro
Read how to zip a website for an app for the folder layout that always works, and the blank-screen guide if a build opens to nothing.
HTML to Link or Website
Turn your HTML file into a live URL, then use that address to build an app from it or share the page directly with anyone. An APK is not always what a project needs — if someone only has to see the page, a link is faster and installs nothing.
HTML to link, HTML to website, ZIP to APK — which one do you want?
They sound alike and solve different problems. The question that separates them is what the person on the other end has to do with it:
| You want | What they get | Use |
|---|---|---|
| HTML to link — a page people open | A URL that loads in any browser, no install, no account | htmltolink.dev |
| HTML to website — several pages hosted together | A small site at its own address, CSS and images intact | htmltolink.dev |
| ZIP or HTML to APK — an installable Android app | An icon on the home screen that works offline | The builder on this site |
When a link beats an APK
- Someone just needs to look at it. Asking a client to install an APK to review a landing page is friction they will not thank you for; a link opens in one tap.
- The audience is not on Android. A link works on iPhone, Windows, a Chromebook and a desktop browser. An APK is Android only.
- The page changes often. Re-upload the file and the same URL shows the new version — nobody has to reinstall anything.
- You need it in seconds. Publishing an HTML file as a link is instant; a build takes a few minutes.
When an APK beats a link
- It has to work offline. A bundled APK serves its pages from the device, so it runs in airplane mode. A hosted link does not.
- You want an icon on the home screen rather than a bookmark people lose.
- You are publishing to Google Play, where an app needs native features a web page cannot offer — push notifications, tabs, a splash screen.
- The content should not be re-shared by forwarding a URL.
The two are not exclusive, and the same project usually serves both: publish the page as a link while you iterate and people review it, then zip the finished files and build the APK when it is ready to be installed. Nothing about the files has to change in between — the rules that make a project convert cleanly into an APK (index.html at the root, relative paths, assets included rather than linked from a CDN) are the same rules that make it host cleanly as a link.
HTML to Link or Website
Upload an HTML file, get a shareable https:// address. Free, no account.
Free tools for the ZIP to APK workflow
Check the archive, generate the icon, plan the version, estimate the size — each runs in your browser and uploads nothing.
Guides: from ZIP to installed app
Short, specific answers, each opening with the one sentence you actually need.
- ZIP to APK · 8 minHow to convert a ZIP file to an APKThe whole route from a ZIP of web files to a signed APK on a phone, in the order the steps arrive.
- ZIP to APK · 6 minHow to zip a website for an appThe folder layout and the compress steps on each OS that put index.html where the builder expects it.
- ZIP to APK · 7 minHTML to APK without Android StudioThe browser route from HTML to a signed APK, with nothing installed — and what it gives up.
- Fix & optimise · 7 minZIP to APK blank screen: causes and fixesSeven reasons a converted app opens to nothing, in order of likelihood, each with the fix.
- Frameworks & games · 8 minReact, Vue or Vite build to APKBase path, script format, hash routing: the three settings that let a dist folder become an APK.
- Google Play · 9 minFrom ZIP to Google Play: AAB, listing and reviewWhy Play wants an AAB, the account, every listing asset and form, and what review actually checks for a WebView app.
Is the ZIP to APK builder really free?
Yes. The free tier builds signed, installable APKs with no watermark and no expiry, and asks for no card. Pro exists for people publishing on Google Play: it adds AAB output, your own keystore, an 18 MB upload limit, splash screens, native bottom tabs, onboarding screens and push notifications. Pro is a subscription sold through Google Play in the Android app, so Google handles billing and refunds. See pricing for the full comparison.
Zip to APK — questions people ask
How do I convert an HTML file to a link?
Upload the file to htmltolink.dev and it is published at its own https:// address straight away. Anyone you send that link to opens the page in a browser — no install, no account, and it works on iPhone, Android and desktop alike. Use a link when people only need to see the page, and an APK when they need an installable app that works offline.
What is the difference between HTML to link and ZIP to APK?
A link is a hosted web page: it opens in any browser on any device, updates the moment you re-upload the file, and needs a connection. An APK is an installed Android app: it puts an icon on the home screen, serves its pages from the device so it works offline, and can be published to Google Play. The same project can be used for both — share it as a link while it is being reviewed, then build the APK when it is finished.
How do I convert a ZIP file to an APK?
Zip your project with index.html at the root, open the builder, upload the ZIP, set the app name, icon, package name and version, then start the build. In a few minutes you download a signed APK that installs on any Android phone. No Android Studio or command line is involved.
Does the ZIP need index.html at the root?
Yes. index.html must be at the top level of the archive, not inside a folder. If you compress the folder that contains your site rather than its contents, the archive opens as folder/index.html and the app has no entry page. The free ZIP Checker tool spots this instantly.
Will my ZIP to APK app work offline?
Yes. Every file in the ZIP is packaged inside the APK and read from the device, so the app opens with no connection at all. Only content your pages fetch from the internet — an embedded video, an external API — needs a network.
Can I convert HTML to APK without Android Studio?
Yes. The builder runs in your browser and compiles the app in the cloud. You never install Android Studio, the Android SDK, Java or Gradle. Upload an HTML file or a ZIP, and download the APK.
Is the Zip to APK converter free?
Yes. The free tier produces signed, installable APKs with no watermark, no expiry and no card. Pro is optional and adds AAB output for Google Play, your own signing key, a larger upload limit and native features such as tabs, splash screens and push.
Can I put a ZIP-built app on Google Play?
Yes, but Google Play requires an AAB (Android App Bundle) for new apps rather than an APK. Pro builds the AAB from the same ZIP. You also need a Play developer account, a store listing and a privacy policy; the Google Play guide covers each step.
Why does my converted app show a blank white screen?
Almost always one of three things: index.html was not at the root of the ZIP, the pages use absolute paths such as /css/style.css that do not resolve inside an app, or a script is loaded with type="module", which browsers block on bundled file:// pages. The blank-screen guide walks through each fix.
Can I convert a React, Vue or Vite build to an APK?
Yes. Run the production build, make sure the base path is relative (base: './' in Vite, homepage: '.' in Create React App), zip the contents of the dist or build folder, and upload it. Client-side routers should use hash mode.
What is the maximum ZIP size?
5 MB of web content on the free tier and 18 MB with Pro. Images are usually what pushes a project over; the WebP compressor and the APK Size Estimator tools show where the weight is.
Does it build iOS apps too?
No. The output is Android only — APK for direct install and AAB for Google Play. An iOS build requires Apple's toolchain and a paid developer account, which is out of scope here.
Can I update the app after it is built?
Yes. Upload a new ZIP, raise the versionCode, and rebuild with the same package name and signing key. The new APK installs over the old one and keeps its data; a different package name or key would install as a separate app.
Are my files uploaded anywhere when I use the free tools?
No. The ZIP Checker, Folder to ZIP packager, icon maker and every other tool on this site run entirely in your browser. Nothing is sent to a server. Only the builder itself uploads your ZIP, and only to compile the app.
Ready to convert your ZIP to an APK?
Upload the ZIP of your HTML project, choose a name and an icon, and download a signed Android APK. Free, no card, no Android Studio.
Open the ZIP to APK builder




















