# kripken/box2d.js

Port of Box2D to JavaScript using Emscripten

Repository: https://github.com/kripken/box2d.js
Canonical: https://ross.abutalabs.com/products/box2djs
Language: C
License Family: other
Last push: 2020-07-09T16:47:57+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5307, "days_push": 2246, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1383, forks 199 (observed 2026-08-28T04:04:34.673850+00:00)

## What it is
A direct port of the Box2D 2D physics engine to JavaScript and WebAssembly using Emscripten, with automatically generated bindings. It preserves the original Box2D API and functionality for use in web browsers.

## Use cases
- add 2d physics simulation to a browser game
- run box2d physics in javascript
- simulate rigid bodies and collisions in the browser
- build an html5 canvas physics demo
- use webassembly physics engine in a web app

## When to choose
- you need Box2D-identical physics behavior in a web browser
- you want a proven, mature 2D physics engine ported via Emscripten
- you are porting an existing Box2D C++ project to the web

## When to avoid
- you need a natively written JavaScript physics engine with idiomatic API
- you need 3D physics (use ammo.js or a 3D engine instead)
- you need actively maintained code with recent updates and guaranteed support

## Facets
- artifact type: library
- maturity: maintenance
- function: game-engine, simulation, graphics
- domain: web-development, simulation
- platform: browser, cross-platform, wasm
- tags: physics-engine, box2d, emscripten, 2d-physics, webassembly, game-development, javascript

## Member repositories
- kripken/box2d.js (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:34.673850+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:02.857266+00:00, confidence not recorded.
  - readme: https://github.com/kripken/box2d.js (fetched 2026-08-28T04:04:34.673850+00:00, sha ac9a7d5a3e52)
- Data as of 2026-08-30T08:39:29.467469+00:00.
