Phaser Built for Phaser From a Phaser developer, for Phaser developers

Turn your Phaser.js game into a real native app

Native app conversion built by a Phaser developer. Ship your game to Android as a signed APK or AAB — no Android Studio, no native code. iOS support coming soon.

  • No Android Studio
  • Signed APK & AAB
  • Your source stays yours
Same game, new home

Your Phaser game becomes a real native app

No rewrite, no engine swap. The exact game you built in the browser, wrapped in a native shell and ready for the store.

localhost:8080 · my-phaser-game
A 2D Phaser platformer game running in the browser
In your browser
The same Phaser platformer game as a native mobile app
Installed
Installed on device
How it works

Watch your Phaser game become an app

Drop in your exported build, configure it, and download a store-ready app. Hit play to run the pipeline.

1

Export your game

Zip your Phaser dist folder — HTML, JS and every asset.

📦 my-phaser-game.zip
index.html phaser.min.js game.js assets/
2

Configure & build

Set the name, icon and orientation. We wrap your canvas in a native shell.

Unzipping project… Detecting Phaser engine… Injecting native wrapper… Packaging app.aab…
buildrelease · .aab
3

Ship to the store

Download a signed APK or AAB, ready for Google Play. iOS coming soon.

Installed ✓
The finished Phaser game running as a native app on a phone
Google Play Apple App Store (coming soon)
Why Phaser devs choose it

Built around real game-dev problems

The things that actually bite when you take a Phaser game to mobile — handled.

True full-screen canvas

Your game runs in a Flutter WebView with hybrid composition enabled, filling the whole screen — no browser bar, no pinch-zoom.

Native touch & input

Low-latency touch and gesture handling so controls feel responsive, not laggy.

Offline & embedded

Your whole game ships inside the binary. It launches instantly and works with no network.

AdMob for games

Monetize with banner, interstitial and rewarded ads through a one-click native plugin.

Lock orientation

Set portrait or landscape, so your game launches exactly the way you designed it.

One-click plugins

Vibration, storage, device info and more — native features without native code.

Native features, plain JavaScript

Make the phone buzz when your player gets hit

html2app ships a typed js-bridge so your Phaser game can call native features directly. Here the phone vibrates the moment the player collides with an enemy — one line, no native code, and it's safely ignored when running in the browser.

  • Drop it straight into your collision handler
  • Control duration & amplitude, or a custom pattern
  • Fully typed — autocomplete in your editor
Read the Vibration API docs
GameScene.js
import { Vibration } from '@yandeu/js-bridge/lib/plugins/vibration.js'export default class GameScene extends Phaser.Scene {  create() {    // buzz the phone whenever the player hits an enemy    this.physics.add.overlap(      this.player,      this.enemies,      this.onPlayerHit,      undefined,      this    )  }  onPlayerHit(player, enemy) {    player.takeDamage(10)    // 200ms at full strength — ignored on web    Vibration.vibrate(200, 255)  }}
Yannick Deubel, Phaser developer and creator of enable3d Yannick (@yandeu) Phaser dev · creator of enable3d

Built by an expert

Made by a Phaser developer who ships Phaser games

Having maintained open-source projects and active Phaser development for years, I built html2app.dev to solve the specific bottlenecks — like configuring orientation lock, hiding the status bar, and getting a true full-screen canvas — that I ran into shipping my own Phaser games. And if you build in 3D, it runs my enable3d library just fine too.

Pricing

Ship unlimited games for $36 a year

One simple plan: build and publish as many Phaser games as you want to Google Play. There's a free tier to get started, no credit card needed.

$3/month billed $36/year · free tier available
  • Unlimited apps & games — no per-app fees
  • Signed APK & AAB, ready for Google Play
  • Cloud builds — no Android Studio
  • Your signing key & app ID — no lock-in

Need more power? Compare every plan on the main pricing page.

FAQ

Questions Phaser devs ask

Which Phaser versions are supported?
Any of them. html2app simply runs your exported game, so whether you build with Phaser 3, Phaser 4, or an older version, it works the same — nothing about your Phaser setup needs to change.
Do I keep ownership of my source code?
Absolutely. Your code stays 100% yours. You bring your own signing key and app ID, so you can move to another toolchain at any time and keep updating the same store listing.
Will touch input work properly?
Yes. Your game runs in the platform's WebView via Flutter (with hybrid composition enabled), so touch and pointer events behave just like in a mobile browser — Phaser's input system works unchanged.
APK or AAB — what do I get?
Both. Download a signed APK for direct installs and testing, or an AAB bundle ready to publish straight to Google Play.
Do I need Android Studio?
No. Everything builds in the cloud. Upload your zip and download a real native binary — no local SDKs, no native toolchain to install.

Still have questions or hit a snag?
Join the community on GitHub — ask anything, share what you're building, get help.

Join the discussion

Not only Phaser — html2app wraps any HTML5 game or app.

Three.js Pixi.js JavaScript React See all supported tech →

Ship your Phaser.js game to the store

Built by a Phaser developer who gets it. Convert your first game for free — no credit card, no native code.