WebAssembly · WebGL 2 · No install
Project Zomboid Build 42, running in a browser tab
The game's own Java code, compiled ahead of time to WebAssembly, with its native libraries (lighting, physics, population, pathfinding, graphics) rewritten for the browser. New game, save, quit and continue all work.
Can this browser run it?
● Runs on your deviceChecks the features the game needs: WebAssembly garbage collection and exceptions, WebGL 2, enough heap memory for a loaded world, and storage to cache the game data. Nothing is sent anywhere.
Takes under a second.
How it works
- Ahead-of-time compiledThe game jar is patched and compiled by TeaVM to WebAssembly GC. Java threads become cooperative fibers on the page's single thread.
- Native libraries replacedLighting is a JavaScript port; physics, population and polygon clipping are Java ports; OpenGL calls are translated to WebGL 2.
- Saves stay in the browserOptions, saves and logs live in IndexedDB; the game's SQLite databases run on the official sqlite-wasm build.
- Streamed game dataStartup files come in 15 cached chunks; map data is fetched as the player moves, with bounded caches.
Requires a desktop Chrome or Edge (WebAssembly GC). Firefox cannot compile the 184 MB module. A loaded world uses 2.5 to 3.5 GB of the browser's roughly 4 GB heap. There is no sound yet. Measurements are from the development PC in headless Chromium.
ZomboidWeb is an unofficial fan project, not affiliated with or endorsed by The Indie Stone. Project Zomboid is a trademark of The Indie Stone. No game files are distributed here; the port runs only on a private instance for its owner, who owns the game.