Step one: get an HTML5 export
Whatever you made the game with, you need a folder that opens in a browser via index.html. Here's where to find that in common tools:
| Engine | What to export | Watch out for |
|---|---|---|
| Phaser, PixiJS, Three.js, plain canvas | Your project folder as-is (or the dist/ build) | Use relative paths for assets |
| Construct 3 | The "Web (HTML5)" export | Unzip it once, then re-zip the contents |
| GDevelop | "HTML5 (external websites)" export | Keep the folder structure exactly |
| Godot 4 | The Web export, with threads turned off | Threaded exports need special server headers an app can't rely on |
| Scratch / TurboWarp | TurboWarp Packager → HTML | Choose the single-file or ZIP output |
Open the export in Chrome on your phone first. If it doesn't run there, it won't run in the app either — the app uses the same Chromium engine.
Touch controls are the big one
A game built for arrow keys is unplayable on a phone. Add on-screen buttons, tap-to-jump or swipe controls before converting. Also:
- Use
pointerortouchevents, not justmouseevents. - Stop the page from scrolling or zooming during play with
touch-action: noneon the game canvas. - Size the canvas to the screen and handle resizes, so it fills phones of every shape.
Sound, saves and orientation
- Sound: Android, like every browser, blocks audio until the player taps something. Start your music on the first tap ("Tap to play") and it just works.
- Saves: store high scores and progress in
localStorage. It survives closing the app and restarting the phone. - Orientation: decide whether your game is portrait or landscape and design for it — a landscape game squeezed into portrait looks broken.
Keep the download small
Games are mostly images and audio, which adds up fast. The free plan bundles up to 5 MB and Pro up to 18 MB. To fit:
- Convert PNG sprites to WebP where you can — often half the size.
- Use OGG or MP3 at a modest bitrate; music rarely needs more than 96 kbps on a phone speaker.
- Pack sprites into atlases and delete unused assets from the export.
Build and test it
- Open the export folder, select everything inside it, and zip it —
index.htmlmust be at the top of the ZIP. - In HTML & ZIP to APK Builder, pick the ZIP, add the game's name and icon, and build.
- Install the APK, switch on flight mode, and play through a full round. Missing sprites or silent sound effects point to a file that didn't make it into the ZIP.
Want to sell or publish the game? Google Play needs an AAB file and a signing key you keep for updates — both are part of Pro.
Try it now — it's free
No watermark, no card, no Android Studio. Pick what you're starting from:
Questions people ask
Can I convert an HTML5 game to APK for free?
Yes. Zip the game's HTML5 export and build it with the free plan. The APK has no watermark; the free plan bundles up to 5 MB of files.
Will my HTML game work offline on Android?
Yes, if every asset is inside the ZIP. Games that load fonts, libraries or ads from the internet still need a connection for those parts.
Why is there no sound in my game app?
Android blocks audio until the first tap. Start music and sound on a 'Tap to play' screen and it will play normally.
Can I put my HTML game on Google Play?
Yes, as an AAB signed with your own key, which comes with Pro. Add touch controls and a proper icon first — reviewers test on real phones.