Real conversion
Create an Android APK from a website address or a static website compressed as ZIP.
Build a signed APK from a URL or ZIP. Add an icon, splash screen and, if needed, an AdMob banner. Everything is compiled locally on your computer.

WebToAPK creates an Android WebView project, compiles it with Gradle and delivers an installable APK. It is not a simulation or a renamed file: the result is a real signed Android application.
Create an Android APK from a website address or a static website compressed as ZIP.
The URL, files, icons and keys are processed on your own computer.
Set the name, package, version, signing company, orientation, icon and splash screen.
Keep the same package and JKS signing key to publish future versions.
The interface is available in Spanish, English and Italian and remembers your choice.
Integrate a Google AdMob banner with test mode and UMP consent.
Updated 21 July 2026
A clear guide for 64-bit Windows 10 and Windows 11. Instructions for macOS and Linux are included as well. Follow the steps in order and do not run the program from inside the ZIP.
Download Docker Desktop from the official page. During installation use the WSL 2 based engine. Then open Docker Desktop and wait until the engine is shown as running.
Open the official Docker installerIf Docker shows “WSL needs updating”, open PowerShell as administrator, run these commands and then restart Windows.
wsl --update wsl --shutdown
If the normal update fails, try wsl --update --web-download. WebToAPK also includes actualizar-wsl-administrador.bat.
Download the ZIP, extract all its contents and place the folder in a simple local location, for example C:\WebToAPK. Do not run the program directly from inside the ZIP.
With Docker Desktop open, double-click start-windows.bat. The program downloads and builds the Android environment. When ready it opens http://localhost:3000 automatically.
Later starts normally take between 30 and 90 seconds. Keep the command window open while using WebToAPK.
ERR_CONNECTION_REFUSED, the server is not ready yet or the build failed. Run diagnostico-windows.bat.Choose URL or ZIP, enter the name and package, add the company name for the signature, select orientation and permissions, then upload the icon and splash screen. AdMob is optional: always use test identifiers during development.
The interface is available in Spanish, Italian and English. Keep the JKS signature so the application can be updated later.
Select Build APK and wait for Gradle to finish. Download the APK and the JKS signing-key backup. During the first build the percentage may remain unchanged for several minutes.
To update an existing app, keep the same package and signing key and increase the versionCode. If Gradle is cancelled near 15 minutes, increase BUILD_TIMEOUT_MS to 3600000 in .env.
The same package includes a launcher for these systems. Open a terminal inside the folder and run:
chmod +x start-linux-macos.sh ./start-linux-macos.sh
On Apple Silicon an AMD64 Linux image is used to maintain Android tool compatibility, so the first preparation may take longer.
Docker and Android environment
Depends on connection, CPU and memory
Gradle reuses dependencies
Docker, SDK, Gradle and caches
Version 1.6.1 can integrate an adaptive banner at the top or bottom. This is a transparent option: it does not guarantee revenue and depends on your audience, policy compliance and AdMob app approval.
In AdMob choose Android and state that the app is not published yet.
The app ID contains ~ and the banner ID contains /. They are not interchangeable.
Keep test mode enabled until development and internal testing are complete.
After publishing, link the store listing and complete the AdMob readiness process.
Ads can help fund an app, but results depend on real users, countries, formats and policies. Never click your own ads or promise earnings. WebToAPK integrates the technology; account management and compliance remain the app owner’s responsibility.
WebToAPK runs on localhost through Docker. The private JKS key is not sent to Lanzaware. Store it safely: Android requires the same key for future updates.
Update WSL with wsl --update, run wsl --shutdown, restart Windows and open Docker Desktop again.
Wait for the start script to confirm that the server is ready. Run diagnostico-windows.bat if it does not respond.
The default limit is 900000 ms. Stop WebToAPK, open .env and change BUILD_TIMEOUT_MS=900000 to BUILD_TIMEOUT_MS=3600000. Start the program again.
Keep the same package, company, password and JKS file; increase versionCode.
Check app readiness, store linking, app-ads.txt, consent and that test IDs are no longer being used.
Gradle may download dependencies for several minutes without changing the percentage. Read the technical log before cancelling.
When the log confirms that WebToAPK cancels Gradle at approximately 15 minutes, increase the maximum build time to 60 minutes.
BUILD_TIMEOUT_MS=900000→BUILD_TIMEOUT_MS=3600000Yes. WebToAPK is free to download and use. Docker Desktop may require a subscription for certain business uses under its terms.
Yes. It creates and compiles a signed Android WebView project. It does not create a text file with an APK extension.
Not for a basic conversion. You must follow the guide, install Docker and provide the correct information.
A URL-based app needs a connection. ZIP mode can include local content, while external resources still require Internet access.
The APK can be a starting point, but Google Play has its own policies, listing, privacy, verification, testing and current publishing-format requirements.
Yes. AdMob lets you create an unpublished app for integration and testing. Live ad serving may remain limited until the app is linked to a store and approved.
The program remains completely free. You can voluntarily support the work by buying me a coffee from €1 through PayPal.
Download WebToAPK v1.6.1, follow the guide and build your first signed APK on your own computer.