A 2D JavaScript/TypeScript physics engine for cross-platform HTML5 game development, rewritten from Box2D.
Planck.js is a 2D physics engine for JavaScript and TypeScript, rewritten from the popular Box2D engine. It provides realistic physics simulations for cross-platform HTML5 game development, solving the problem of integrating reliable physics into web and mobile games without relying on native plugins or complex setups.
HTML5 game developers, JavaScript/TypeScript programmers, and indie game creators building 2D games for web and mobile platforms.
Developers choose Planck.js for its combination of Box2D's proven physics algorithms with a modern, idiomatic JavaScript/TypeScript API, optimized performance for web and mobile, and ease of integration into HTML5 game projects.
2D JavaScript Physics Engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages Box2D's battle-tested collision detection and rigid body dynamics, ensuring reliable and accurate simulations for 2D games.
Provides an idiomatic TypeScript/JavaScript interface that simplifies code readability and maintenance compared to low-level Box2D bindings.
Specifically tuned for HTML5 and mobile performance, enabling smooth physics simulations in web browsers and on devices.
Includes a built-in testbed for visualizing and debugging physics interactions, which speeds up development and issue reproduction.
Cannot handle 3D physics, restricting use to purely two-dimensional games and simulations, which may not suit all project needs.
As a rewrite, it may not perfectly replicate all Box2D features or behaviors, potentially causing subtle bugs or simulation differences.
Requires manual integration into game loops and frameworks, which can be complex for developers unfamiliar with physics engine architecture.