# @dimforge/rapier3d-compat

> 3-dimensional physics engine in Rust - official JS bindings. Compatibility package with inlined webassembly as base64.

Latest version **0.21.0** (published 2026-09-25) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @dimforge/rapier3d-compat
pnpm add @dimforge/rapier3d-compat
yarn add @dimforge/rapier3d-compat
bun add @dimforge/rapier3d-compat
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; large bundle; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.21.0 |
| Published | 2026-09-25 |
| First published | 2021-01-07 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 14.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 5848 |
| Maintainers | sebcrozet |
| Keywords | physics, dynamics, rigid, real-time, joints |

## Links

- npm: https://www.npmjs.com/package/@dimforge/rapier3d-compat
- Repository: https://github.com/dimforge/rapier
- Homepage: https://rapier.rs
- Issues: https://github.com/dimforge/rapier/issues
- npm.io page: https://npm.io/package/@dimforge/rapier3d-compat

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 0.21.0 (latest) — 2026-09-25
- 0.0.0-b716d37-20260925 (canary) — 2026-09-25
- 0.0.0-09ca067-20260924 — 2026-09-24
- 0.0.0-362e917-20260924 — 2026-09-24
- 0.0.0-79fd711-20260924 — 2026-09-24
- 0.0.0-28d0ba9-20260919 — 2026-09-19
- 0.20.0 — 2026-08-08
- 0.0.0-5de07a4-20260808 — 2026-08-08
- 0.0.0-4267d85-20260808 — 2026-08-08
- 0.0.0-e8c2a98-20260808 — 2026-08-08
- 0.0.0-1679a2b-20260807 — 2026-08-07
- 0.0.0-b369e9d-20260807 — 2026-08-07
- 0.0.0-0fd32c1-20251105 — 2025-11-05
- 0.19.3 — 2025-11-05
- 0.19.2 — 2025-10-17
- … 114 more at https://npm.io/package/@dimforge/rapier3d-compat/versions

## README

<p align="center">
  <img src="https://www.rapier.rs/img/rapier_logo_color_textpath_dark.svg" alt="crates.io">
</p>
<p align="center">
    <a href="https://discord.gg/vt9DJSW">
        <img src="https://img.shields.io/discord/507548572338880513.svg?logo=discord&colorB=7289DA">
    </a>
    <a href="https://github.com/dimforge/rapier/actions/workflows/typescript-bindings.yml">
        <img src="https://github.com/dimforge/rapier/actions/workflows/typescript-bindings.yml/badge.svg" alt="Build status">
    </a>
    <a href="https://crates.io/crates/rapier3d">
         <img src="https://img.shields.io/crates/v/rapier3d.svg?style=flat-square" alt="crates.io">
    </a>
    <a href="https://www.npmjs.com/package/@dimforge/rapier3d">
        <img src="https://badge.fury.io/js/%40dimforge%2Frapier3d.svg" alt="npm version">
    </a>
    <a href="https://opensource.org/licenses/Apache-2.0">
        <img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg">
    </a>
</p>
<p align = "center">
    <strong>
        <a href="https://rapier.rs">Website</a> | <a href="https://rapier.rs/docs/">Documentation</a>
    </strong>
</p>

---

<p align = "center">
<b>3D physics engine</b>
<i>for the JavaScript programming language (official bindings).</i>
</p>

---

## Feature selection

Multiple NPM packages exist for Rapier, depending on your needs:
- [`@dimforge/rapier2d`](https://www.npmjs.com/package/@dimforge/rapier2d) or
  [`@dimforge/rapier3d`](https://www.npmjs.com/package/@dimforge/rapier3d):
  The main build of the Rapier physics engine for 2D or 3D physics simulation. This should have wide browser
  support while offering great performances. This does **not** guarantee cross-platform determinism of the physics
  simulation (but it is still locally deterministic, on the same machine).
- [`@dimforge/rapier2d-simd`](https://www.npmjs.com/package/@dimforge/rapier2d-simd) or
  [`@dimforge/rapier3d-simd`](https://www.npmjs.com/package/@dimforge/rapier3d-simd):
  A build with internal SIMD optimizations enabled. More limited browser support (requires support for [simd128](https://caniuse.com/?search=simd)).
- [`@dimforge/rapier2d-deterministic`](https://www.npmjs.com/package/@dimforge/rapier2d-deterministic) or
  [`@dimforge/rapier3d-deterministic`](https://www.npmjs.com/package/@dimforge/rapier3d-deterministic):
  A less optimized build but with a guarantee of a cross-platform deterministic execution of the physics simulation.

## Bundler support

Some bundlers will struggle with the `.wasm` file package into the builds above. Alternative `-compat` versions exist
which embed the `.wasm` file into the `.js` sources encoded with base64. This results in a bigger package size, but
much wider bundler support.

Just append `-compat` to the build you are interested in:
[`rapier2d-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-compat),
[`rapier2d-simd-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-simd-compat),
[`rapier2d-deterministic-compat`](https://www.npmjs.com/package/@dimforge/rapier2d-deterministic-compat),
[`rapier3d-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-compat),
[`rapier3d-simd-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-simd-compat),
[`rapier3d-deterministic-compat`](https://www.npmjs.com/package/@dimforge/rapier3d-deterministic-compat).

## Nightly builds

Each time a new Pull Request is merged to the `master` branch of the [`rapier` repository](https://github.com/dimforge/rapier),
an automatic _canary_ build is triggered. Builds published to npmjs under the _canary_ tag does not come with any
stability guarantee and does not follow semver versioning. But it can be a useful solution to try out the latest
features until a proper release is cut.

---
_Source: https://npm.io/package/@dimforge/rapier3d-compat · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
