An HTML5 game engine is the code that turns a browser into a games platform: it draws into a <canvas> with WebGL, WebGPU or the Canvas 2D API, runs the game loop, reads touch, mouse, keyboard and gamepad input, plays sound and loads assets. In October 2026 the strongest choices are Phaser 4 for 2D, Three.js, Babylon.js and PlayCanvas for 3D, and Construct 3 or GDevelop if you don't want to write code.
We make commercial browser games: 41 of our 50 games run on Phaser 4.2.1 and 9 on Three.js r186. This comparison leans on what shipping them taught us, not on feature lists. Versions, licences and platform support were checked against official sources on 25 October 2026.
Which HTML5 game engine should you use?
Start from the game you want to make and how you like to work. This table covers most cases:
| If you want to… | Use | Why |
|---|---|---|
| Make a 2D game in JavaScript or TypeScript | Phaser 4 | Scenes, physics, input, audio, tilemaps and tweens in one MIT package |
| Draw thousands of 2D sprites with your own game code | PixiJS 8 | A fast WebGL and WebGPU 2D renderer; you add the game systems |
| Make a 3D game with a small download | Three.js | A lean, flexible 3D renderer; you pick physics and structure |
| Make a 3D game with more built in | Babylon.js or PlayCanvas | Full 3D engines; PlayCanvas adds a browser-based editor |
| Make a game without writing code | Construct 3 or GDevelop | Visual event systems that export to HTML5 |
| Ship to the web and to app stores from one editor | Godot, Defold or Cocos Creator | Desktop editors with web export as one target among many |
| Learn with the least setup | KAPLAY or LittleJS | Small APIs you can read in an afternoon |
Pick 2D or 3D first, then code or editor, then check that web output is a first-class target for that engine rather than an afterthought. That last check rules out more engines than people expect.
HTML5 game engines compared (October 2026)
| Engine (latest stable) | Licence | 2D | 3D | Editor | Language | Mobile web fit | Learning curve |
|---|---|---|---|---|---|---|---|
| Phaser 4.2.1 | MIT | Yes | No | Code-first; paid desktop editor | JS / TS | Strong | Low to medium |
| PixiJS 8.22 | MIT | Yes (renderer) | No | Code only | JS / TS | Strong | Medium |
| Three.js r186 | MIT | Possible | Yes (renderer) | Code-first; online scene editor | JS / TS | Good with care | Medium to high |
| Babylon.js 9.32 | Apache 2.0 | Limited | Yes | Playground, Inspector; community desktop editor | JS / TS | Good with care | Medium to high |
| PlayCanvas 2.23 | MIT | Limited | Yes | Browser editor (also MIT) | JS / TS | Good | Medium |
| Excalibur 0.32 | BSD-2-Clause | Yes | No | Code only | TS | Good | Low to medium |
| KAPLAY 3001 | MIT | Yes | No | Code only | JS / TS | Fair | Very low |
| melonJS 20.10 | MIT | Yes | Some | Code; Tiled maps | JS / TS | Good | Medium |
| LittleJS 1.28 | MIT | Yes | Some | Code only | JS | Good | Low |
| Godot 4.7 | MIT | Yes | Yes | Full desktop editor | GDScript (no C# on web) | Fair (heavier download) | Medium |
| Defold 1.14 | Defold License (free) | Yes | Yes | Full desktop editor | Lua | Good | Medium |
| Cocos Creator 3.8 | Free to use; COCOS 4 is MIT (alpha) | Yes | Yes | Full desktop editor | TS | Good | Medium |
| GameMaker | Free non-commercial; paid commercial | Yes | 2D-first | Full desktop editor | GML | Good | Low to medium |
| Construct 3 | Subscription; free edition | Yes | 2D-first | Browser editor, event sheets | Events, JS | Good | Low |
| GDevelop 5 | MIT; paid online services | Yes | Yes | Desktop and browser editor | Events, JS | Good | Low |
| Unity 6 | Proprietary; free tier | Yes | Yes | Full desktop editor | C# | Supported, large builds | High |
"Mobile web fit" is our judgement of how well each engine's web output suits phone browsers (download size, renderer, input handling), not a benchmark. Versions are the latest stable releases on GitHub or the vendor's site on 25 October 2026.
Game engine, framework, library or graphics engine?
People search for an "HTML5 game engine", an "HTML5 game framework", an "HTML5 game library" and an "HTML5 graphics engine" and often mean the same thing. The differences matter when you choose:
- Graphics engine (renderer): draws things fast and stops there. PixiJS describes itself as "the HTML5 creation engine" and the fastest 2D WebGPU/WebGL renderer; Three.js is the equivalent for 3D. You write or add the loop structure, physics, audio and scene management.
- Game framework or library: a renderer plus the systems a game needs: scenes, an asset loader, input, audio, physics, cameras, timers. Phaser calls itself a game framework; Excalibur, KAPLAY, melonJS and LittleJS sit here too.
- Game engine with an editor: a framework plus a visual tool for building levels, animating and exporting. Godot, Defold, Cocos Creator, GameMaker, Construct, GDevelop and PlayCanvas work this way.
If your search was "html5 graphics engine" because you're building something interactive that isn't quite a game (a product configurator, a data visualisation, an animated site), a renderer like PixiJS or Three.js is usually the right tool. For a game, start with a framework or engine; you'll rebuild most of one otherwise.
Canvas 2D, WebGL and WebGPU
Every engine here draws into a <canvas> element. What differs is the API behind it:
- Canvas 2D: the simplest drawing API. Fine for small games; our free HTML game code uses it because a beginner can read every line.
- WebGL: GPU rendering available in every current browser. It's what nearly every "HTML5 canvas game engine" uses under the hood today, because batching thousands of sprites into a few draw calls is what keeps phones at 60 frames per second.
- WebGPU: the newer GPU API. Google's web.dev reported in November 2025 that it now ships in all major browsers: Chrome and Edge 113 on desktop, Chrome 121 on Android 12 or later with Qualcomm or ARM GPUs, Safari 26 on iOS 26 and macOS Tahoe 26, and Firefox 141 on Windows and 145 on Apple silicon Macs, with Firefox on Android still in progress (source).
That patchy Android coverage is why a WebGL path still matters in 2026. Three.js's WebGPURenderer falls back to WebGL 2 automatically, PixiJS 8 ships both renderers, and Babylon.js and PlayCanvas both support WebGPU. Phaser 4 renders with WebGL; its Canvas renderer still exists but is deprecated.
The best 2D HTML5 game engines
Phaser 4
Phaser is the default answer for 2D browser games, and it's what we use for 41 games. Phaser 4.0 shipped on 10 April 2026 and the current release is 4.2.1 (9 July 2026). It's MIT-licensed and covers almost everything a 2D game needs: scenes, an asset loader, Arcade and Matter.js physics, tweens, particles, tilemaps, cameras, and keyboard, pointer and gamepad input.
Phaser 4 replaced the whole Phaser 3 rendering pipeline with a new WebGL renderer built from render nodes, merged FX and masks into one filter system, and added SpriteGPULayer for very large numbers of sprites in a single draw call. The full minified build is 345 KB with gzip according to its README; a build with only Arcade physics is 313 KB.
After 41 games, what we value most is that Phaser stays out of the way: scenes are plain classes, the TypeScript definitions ship in the package, and a Vite build produces a static bundle that needs no server. Our Phaser games have initial downloads between 500 and 750 KB.
The limits: no 3D (Phaser 4 removed the old Mesh and Plane objects), and the desktop visual editor, Phaser Editor, is a paid subscription. If you're new to it, follow our Phaser 4 tutorial, which builds a complete game step by step.
PixiJS 8
PixiJS is a 2D renderer with WebGL and WebGPU backends, MIT-licensed, at version 8.22.0 (1 October 2026). It's faster to learn than people expect, because it only does one thing. You bring the game loop structure, physics, audio and scene flow. Pick it when your project is unusual enough that a full framework would get in the way, or when you're building interactive content rather than a classic game.
Excalibur
Excalibur is a TypeScript-first 2D engine under the BSD-2-Clause licence, with scenes, actors, collision and a loader. It's still pre-1.0 (0.32.0 shipped in December 2025), so expect API changes between versions. It suits developers who think in TypeScript classes and want structure without Phaser's size.
KAPLAY (formerly Kaboom.js)
KAPLAY is the community continuation of Kaboom.js after Replit archived the original. It's MIT-licensed, with a stable 3001 line and version 4000 in alpha. Its component-based API makes it one of the easiest HTML5 game engines to start with: a moving, colliding character takes a handful of lines.
melonJS and LittleJS
melonJS (MIT, 20.10.1 in October 2026) is a long-running engine with built-in physics and Tiled map support; its project description now lists WebGL and WebGPU rendering, glTF loading and some 3D. LittleJS (MIT, 1.28.0) is a small, dependency-free engine built for compact, fast games; it's a good pick when the whole build has to stay tiny.
The best 3D HTML5 game engines
For a deeper look at 3D, see our guide to 3D HTML5 games.
Three.js
Three.js is the most-starred 3D library for the web on GitHub, MIT-licensed, at r186 (24 September 2026). It's a renderer with a scene graph, materials, loaders (glTF included) and post-processing, not a full engine: physics, input mapping, audio management and game state are up to you. Its WebGPURenderer uses WebGPU where available and falls back to WebGL 2.
We built 9 games on Three.js r186, from a drifting game to a battle-royale-lite against bots. Their initial downloads are 300 to 382 KB, smaller than our 2D games. For vehicle physics, Drift District adds the Rapier physics engine to Three.js. If you want to see what's possible, our Three.js games are playable in the browser.
Babylon.js
Babylon.js is a full 3D engine under the Apache 2.0 licence, maintained by Microsoft. Version 9.0 was announced on 26 March 2026 and 9.32.0 is current. It includes physics integration, a GUI system, audio and WebXR, plus browser tools such as the Playground and the Inspector. There's also a desktop Babylon.js Editor, which its own repository describes as community-managed. Pick Babylon.js when you want 3D features out of the box and don't mind a larger runtime than Three.js.
PlayCanvas
PlayCanvas pairs an MIT engine (2.23.3, October 2026) with a visual editor that runs entirely in the browser and is also open source. Teams can edit the same scene together. The free plan covers public projects; private projects need a paid plan. It's the closest thing in the browser to a Unity-style editor workflow, with nothing to install.
Engines with editors that export to HTML5
These engines are built for several platforms, and the web is one export target. That's convenient when you also want native apps, but check the web-specific limits.
Godot 4.7
Godot is MIT-licensed and free, with a full 2D and 3D editor. Its web export has firm rules, listed in the official docs: Godot 4 targets WebGL 2 only, through the Compatibility renderer; projects written in C# can't be exported to the web; and multithreading is off by default, because turning it on requires cross-origin isolation headers on your server. The docs also warn that web builds on mobile run slower than native exports. GDScript projects export to the web normally.
Defold
Defold is free with no royalties, under the Defold License (derived from Apache 2.0). You script in Lua. HTML5 bundles run as WebAssembly with WebGL 2 by default, and they need a web server: opening index.html from disk won't work. Its HTML5 manual is clear about hosting requirements, including a non-threaded fallback for servers without cross-origin isolation.
Cocos Creator and COCOS 4
Cocos Creator 3.8 (3.8.8 is the latest stable) is a free 2D and 3D editor that exports to web, native and mini-game platforms, with a "web-mobile" template for phone browsers. In January 2026 Cocos announced COCOS 4, open-sourced under MIT with the editor tooling split out. As of October 2026 COCOS 4 is still in alpha, so new commercial projects should stay on 3.8 for now.
"H5 game engines"
"H5" is the common Chinese shorthand for HTML5 mobile games. Besides Cocos, LayaAir (MIT, version 3.4 in October 2026) is the other active 2D/3D H5 engine with its own IDE. Egret, once popular for H5 games, hasn't had a change in its main repository since 2022.
GameMaker, Construct 3, GDevelop and Unity
- GameMaker: free for non-commercial use, including web export; selling a game needs the paid Professional licence (GameMaker pricing). Read our GameMaker HTML5 guide.
- Construct 3 and GDevelop: the leading no-code builders, both with HTML5 export. We compare them with other visual tools in HTML5 game makers and no-code builders.
- Unity 6: Unity's Web platform supports iOS Safari 15 and later and Chrome on Android (browser compatibility); WebGPU can be enabled as an alternative to the default WebGL 2 (check Unity's manual for its current status). Builds are usually much larger than those of JavaScript engines, since they ship a WebAssembly runtime. Epic moved HTML5 support out of Unreal Engine in version 4.24, and Unreal Engine 5 has no web export from Epic. Our guide to Unity and Unreal for HTML5 covers both.
Free and open-source HTML5 game engines
Most of the best HTML5 game engines are free, and many are open source. Licences differ in ways that matter if you sell games:
| Licence | Engines | What it means for you |
|---|---|---|
| MIT | Phaser, PixiJS, Three.js, PlayCanvas (engine and editor), KAPLAY, melonJS, LittleJS, Godot, GDevelop, LayaAir, COCOS 4 (alpha) | Use, change and sell games freely; keep the copyright notice |
| Apache 2.0 | Babylon.js | Like MIT, plus an explicit patent grant |
| BSD-2-Clause | Excalibur | Like MIT |
| Free, own licence | Defold, Cocos Creator 3.x | Free to use and ship; read the terms |
| Freemium or paid | Construct 3, GameMaker, Unity, Phaser Editor | Free tiers with limits; paid for commercial or full features |
The engine's licence covers the engine only. Art, music, fonts and the game code you write or buy have their own terms. Every game we sell lists its third-party notices, and our licences spell out what you can ship.
Which HTML5 game engine is fastest?
There's no fair universal answer, and benchmark tables online usually measure one thing (drawing identical sprites) that rarely limits a real game. On phones, frame drops usually come from too many draw calls, unbatched textures, large overdraw from full-screen transparent layers, garbage-collection spikes and physics with too many bodies.
What engine choice does change:
- Batching: WebGL engines that batch sprites (Phaser, PixiJS) handle tens of thousands of sprites comfortably; Phaser 4's
SpriteGPULayeris designed for far more. - Runtime size: a lean renderer plus your code downloads faster than a general-purpose runtime. That matters more on mobile data than a few frames per second.
- Control: a renderer like PixiJS or Three.js lets you optimise everything; a full engine optimises common cases for you.
We test every game with Playwright on desktop Chromium, Firefox and WebKit plus emulated Pixel 7 and iPhone 15 profiles. Emulation isn't a real device, so always check the final build on real phones too. Our HTML5 game performance guide goes deeper.
Mobile and cross-platform HTML5 game engines
All the JavaScript engines above run in mobile browsers, and their builds can be wrapped as Android and iOS apps. The things that decide mobile success are input (touch first, no hover), scaling across portrait and landscape, audio that starts only after a tap, and download size. Our guide to the best HTML5 game engine for mobile covers this in detail.
Multiplayer HTML5 game engines
Game engines run on the player's device; multiplayer needs a server. The usual approach is a JavaScript engine on the client plus a server framework such as Colyseus (MIT, for Node.js) over WebSockets. Construct 3 includes multiplayer features on paid plans (its free edition doesn't), and GDevelop offers multiplayer lobbies as an online service. Our multiplayer HTML5 games guide explains the architecture; all 50 of our own games are single-player.
What changed since the 2024 and 2025 lists
If you're comparing with older "best HTML5 game engines" articles or Reddit threads, these are the changes that matter:
- Phaser 4 is stable. 4.0.0 shipped in April 2026; Phaser 3's most recent release is 3.90.0 from May 2025.
- Babylon.js 9 arrived in March 2026.
- Cocos went MIT with the COCOS 4 announcement in January 2026, though it's still in alpha.
- WebGPU reached Safari with Safari 26, so it now runs in every major browser family, but not on every Android device.
- Kaboom.js is archived; KAPLAY carries it on.
HTML5 engines people still search for, and what happened to them
Lists of the best HTML5 game engines from 2014 to 2019, and old Stack Overflow answers, name engines that are no longer the right choice. Here's where they stand:
| Engine | What it was | Status in October 2026 |
|---|---|---|
| ImpactJS | A paid 2D engine with the Weltmeister level editor, launched in 2010 | Made free under MIT in 2018; occasional fixes only. Its author's 2024 project, high_impact, is a C engine inspired by it |
| Panda.js / Panda 2 | A 2D engine, later a full platform with an editor | The engine repository hasn't changed since July 2020 |
| Quintus | A modular, jQuery-style engine | Code unchanged since 2016; its README calls it obsolete and points to Quintus2, a TypeScript rewrite at v0.1.0 |
| Cocos2d-html5 | The MIT JavaScript port of Cocos2d-x | Evolved into Cocos Creator; its repository has been inactive since 2020 |
| Construct 2 | Scirra's desktop editor | Off sale from July 2020 and discontinued in July 2021; replaced by Construct 3 |
| Kaboom.js | Replit's beginner-friendly library | Archived by Replit; continued as KAPLAY |
| Atomic Game Engine | An MIT engine with JavaScript, C# and WebGL deployment | Archived; its README says it's no longer developed |
| CreateJS (EaselJS) | A Canvas 2D library with a Flash-style display list | No major release since 1.0 in 2017 |
If a tutorial you like uses one of these, port the idea, not the code. The concepts (game loop, sprite sheets, scenes, collision) carry over to Phaser or KAPLAY with little effort.
How to choose an HTML5 game engine
- Decide 2D or 3D. Most casual and mobile web games are 2D, and 2D engines are smaller and simpler.
- Decide code or no-code. Then match your team's language: JavaScript or TypeScript, C#, GDScript, Lua or visual events.
- List your targets. Web only, game portals, or web plus app stores. Engines with native export (Godot, Defold, Cocos) help with the last; wrappers handle the rest.
- Set a download budget. Players on mobile data and portals both reward small builds. Ours range from 300 to 750 KB for the initial download.
- Read the licence for your whole plan, including what happens if the game earns money.
- Check the engine is alive. Look at the date of the last release and the commit history. All the open-source engines in our main table were updated in 2026.
- Check the tooling. TypeScript types, a dev server with fast reload, and a way to run tests in a real browser save weeks over a project.
- Prototype the hardest part (say, 300 moving enemies on a mid-range phone) in your top two engines for a day each, then decide.
What we use for our 50 games, and why
Our catalog runs on two engines: Phaser 4.2.1 for 41 2D games and Three.js r186 for 9 3D games. Both are MIT-licensed, so buyers can change and ship the code under our licence without any engine royalty. Every game is a TypeScript project built with Vite, unit-tested with Vitest and end-to-end tested with Playwright. Tuning such as costs, waves and levels lives in JSON data files, so many changes need no code at all.
Before a game goes on sale, its source package is unpacked outside our repository and must install with a frozen lockfile, build, typecheck and pass its own tests. All 50 passed in October 2026; the first 45 alone ran 9,109 unit tests. That process is engine-agnostic, but it's much easier with engines whose output is a plain static build with no server.
Browse all 50 games with source code
Can you make your own HTML5 game engine?
Yes, and it's a good way to learn. A minimal engine is a canvas, a requestAnimationFrame loop with time-based updates, an input handler and an asset loader: a few hundred lines. Every game on our free HTML game code pages is a tiny engine in one file, and our guide to HTML5 canvas games explains the parts.
For a commercial game, writing your own engine rarely pays. Screen scaling on hundreds of phones, audio that unlocks on the first tap, input across touch, mouse, keyboard and gamepad, texture atlases and WebGL context loss are months of work that Phaser or Three.js already handle. If you're starting out, read how to make an HTML5 game first.
Where to download an HTML5 game engine
Download engines only from their official sites or GitHub organisations:
- JavaScript engines install from npm:
npm install phaser,npm install pixi.js,npm install three,npm install @babylonjs/coreornpm install playcanvas. Most are also on the jsDelivr and cdnjs CDNs. - Desktop editors (Godot, Defold, GameMaker, GDevelop, Cocos Creator, Unity) download from their official websites.
- Browser editors (Construct 3, PlayCanvas, GDevelop's online editor) need nothing installed.
Frequently asked questions
What is the best HTML5 game engine?
For 2D games, Phaser 4: it's free, complete, well documented and light enough for phones. For 3D, Three.js if you want a lean renderer, or Babylon.js or PlayCanvas if you want more built in. Without code, Construct 3 or GDevelop. The best choice still depends on your game, your language and your targets.
What is the most popular HTML5 game engine?
By GitHub stars in October 2026, the most-starred web-first libraries are Three.js (about 117,000), PixiJS (about 48,000) and Phaser (about 41,000). Godot has about 119,000 but is a native engine with web export. Stars measure interest, not shipped games, so treat them as a rough signal.
What is the easiest HTML5 game engine for beginners?
If you want to code, KAPLAY and LittleJS have the smallest APIs, and Phaser has hundreds of official examples and tutorials. If you don't, Construct 3 and GDevelop let you build with visual events. Our Phaser tutorial takes a beginner from an empty folder to a finished game.
Is there a free HTML5 game engine with a visual editor?
Yes. Godot, GDevelop and PlayCanvas have free editors under the MIT licence, Defold's editor is free under its own licence, and Cocos Creator is free to use. Construct 3 has a free edition limited to 50 events, and GameMaker is free for non-commercial projects.
Which HTML5 game engine works best on a MacBook or a Chromebook?
On a MacBook, every engine in this guide runs, and you can test WebKit directly in Safari. On a Chromebook, browser-based tools are easiest: Construct 3, PlayCanvas and GDevelop's online editor need no install, and any JavaScript engine works with a browser-based code editor.
Does Google make an HTML5 game engine?
No. Google builds Chrome, contributes to web standards such as WebGPU and publishes guidance on web.dev, but it doesn't offer a general-purpose game engine. If you want to write Java and target browsers, PlayN is an Apache 2.0 library that compiles games to HTML5 through GWT.
Should I still learn Phaser 3 in 2026?
Start new projects with Phaser 4. Most of the public API is the same, so Phaser 3 tutorials still teach the right ideas, but rendering, effects, masks and tinting changed. Our games all use Phaser 4.2.1, and our Phaser game source code is a working reference for the current API.
We make and sell HTML5 game source code; links to our games are marked as ours.