1. Home
  2. Game to APK

Guide

HTML game to APK: put your HTML5 game on Android

HTML5 games make great Android apps: they open instantly, run offline and feel like any other game on the home screen. A few small fixes make the difference between 'it works' and 'it feels right'.

Updated 2026-10-203 min readBy the Free APK Maker team
Quick answerExport your game as HTML5 (a folder with index.html), zip the contents of that folder, and build it with HTML & ZIP to APK Builder. The game is bundled inside the APK, so it runs offline. Before you build, make sure it has touch controls, starts sound after the first tap, and saves progress with localStorage.

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:

EngineWhat to exportWatch out for
Phaser, PixiJS, Three.js, plain canvasYour project folder as-is (or the dist/ build)Use relative paths for assets
Construct 3The "Web (HTML5)" exportUnzip it once, then re-zip the contents
GDevelop"HTML5 (external websites)" exportKeep the folder structure exactly
Godot 4The Web export, with threads turned offThreaded exports need special server headers an app can't rely on
Scratch / TurboWarpTurboWarp Packager → HTMLChoose 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 pointer or touch events, not just mouse events.
  • Stop the page from scrolling or zooming during play with touch-action: none on 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

  1. Open the export folder, select everything inside it, and zip it — index.html must be at the top of the ZIP.
  2. In HTML & ZIP to APK Builder, pick the ZIP, add the game's name and icon, and build.
  3. 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.