2D Game Engine for the Web
Emerald is a comprehensive 2D graphics engine that makes building web games faster, simpler, and more enjoyable - with a clean API, built-in physics, particles, lighting, and more.
npx create-emerald-app@latest my-app
Everything you need
A full-featured engine that handles the hard parts so you can focus on your game.
Composable GameObjects
Build scenes from GameObjects and components — textures, shapes, animators, rigid bodies, custom Behaviours — with a transform hierarchy and layer/z sorting.
Physics & fixed timestep
Planck.js under the hood: rigid bodies, box/circle colliders, collision layers, continuous detection, raycasts, and a fixed-timestep loop for stable simulation.
Post-processing & materials
Bloom and a chainable post-processing pipeline, plus custom GLSL Materials for per-object shader effects — plus pooled particles and 2D lighting.
Batched, seam-free rendering
Instanced tilemaps and sprite batching keep draw calls low, with half-texel UV insets and pixel-snapped cameras for crisp, seam-free pixel art.
Audio buses, saves & input
Mix buses with fades and crossfades, versioned Storage + IndexedDB saves via EmeraldDB, and unified keyboard, mouse, touch & full gamepad input.
Production-hardened
GPU resource disposal, WebGL context-loss recovery, render-stats profiling, resolution independence, and auto-pause — the parts that separate a demo from a product.
Ready to build?
Spin up your first Emerald project in seconds and start building your game today.
Read the docsExplore Emerald
Everything is interactive — run it, build with it, ask about it.