Matter.js > *Matter.js* is a JavaScript 2D rigid body physics engine for the web [brm.io/matter-js](http://brm.io/matter-js) [Demos](#demos) - [Gallery](#gallery) - [Features](#features) - [Install](#install) - [Usage](#usage) - [Examples](#examples) - [Docs](#documentation) - [References](#references) - [License](#license) [![Build Status](https://travis-ci.org/liabru/matter-js.png?branch=master)](https://travis-ci.org/liabru/matter-js) ### Demos

### Gallery See how others are using matter.js physics - [Obie Awards](http://www.obieawards.com/2016-splash/) by Athletics - [Leg Work Studio](http://www.legworkstudio.com/home/recognition) by Leg Work - [Goblins and Grottos](http://store.steampowered.com/app/389190) by Psychic Software - [Les métamorphoses de Mr. Kalia](http://www.lab212.org/projects/les-metamorphoses-de-mr-kalia) by Lab212 for Google - [Pablo The Flamingo](http://pablotheflamingo.com/) by Nathan Gordon et al - [#GIFMYLIVE](http://bonhommeparis.com/en/projects/arte-gifmylive) by Bonhomme for Arte - [Adobe Analytics Live Stream](http://adobefirehose.mediarain.com/) by Rain for Adobe - [Blood Sweat & Tools Interactive](http://bloodsweatandtools.discovery.ca/gamebench/) by Jam3 for Discovery - [Hype](http://tumult.com/hype/pro/) by Tumult - [Trophy Smasher](http://grindselect.com/trophy/game) by Kyle Stetz for Grind Select - [Pelada](https://gabrielmfadt.wordpress.com/tag/matter-js/) by Gabriel Gianordoli - [Labyrinth Game](https://vine.co/v/OjYTwi1gdB1) by Jaume Sanchez Elias - [Powermate and Physics](https://vine.co/v/OjXaEzivvJe) by Jaume Sanchez Elias - [masQueLaCara](https://www.instagram.com/p/BCFqCs6JNsq/) by Zach Lieberman for Art Blocks Houston ### Features - Rigid bodies - Compound bodies - Composite bodies - Concave and convex hulls - Physical properties (mass, area, density etc.) - Restitution (elastic and inelastic collisions) - Collisions (broad-phase, mid-phase and narrow-phase) - Stable stacking and resting - Conservation of momentum - Friction and resistance - Events - Constraints - Gravity - Sleeping and static bodies - Rounded corners (chamfering) - Views (translate, zoom) - Collision queries (raycasting, region tests) - Time scaling (slow-mo, speed-up) - Canvas renderer (supports vectors and textures) - [MatterTools](https://github.com/liabru/matter-tools) for creating, testing and debugging worlds - World state serialisation (requires [resurrect.js](https://github.com/skeeto/resurrect-js)) - Cross-browser (Chrome, Firefox, Safari, IE8+) - Mobile-compatible (touch, responsive) - An original JavaScript physics implementation (not a port) ### Install Download the [edge build (master)](https://github.com/liabru/matter-js/blob/master/build/matter.js) or get a [stable release](https://github.com/liabru/matter-js/releases) and include the script in your web page: You can also install using the package managers [Bower](http://bower.io/search/?q=matter-js) and [NPM](https://www.npmjs.org/package/matter-js). bower install matter-js npm install matter-js ### Usage Visit the [Getting started](https://github.com/liabru/matter-js/wiki/Getting-started) wiki page for a minimal usage example. Also see the [Rendering](https://github.com/liabru/matter-js/wiki/Rendering) wiki page, which also shows how to use your own game loop. ### Examples See the [examples](https://github.com/liabru/matter-js/tree/master/examples) directory which contains the source for all [demos](#demos). There are even more examples on [codepen](http://codepen.io/collection/Fuagy/). ### Documentation See the [API Documentation](http://brm.io/matter-js/docs) and the [wiki](https://github.com/liabru/matter-js/wiki) ### Building and Contributing To build you must first install [node.js](http://nodejs.org/) and [gulp](http://gulpjs.com/), then run npm install This will install the required build dependencies, then run gulp dev to spawn a development server. For information on contributing see [CONTRIBUTING.md](https://github.com/liabru/matter-js/blob/master/CONTRIBUTING.md). ### Changelog To see what's new or changed in the latest version, see the [changelog](https://github.com/liabru/matter-js/blob/master/CHANGELOG.md). ### References See the wiki page on [References](https://github.com/liabru/matter-js/wiki/References). ### License Matter.js is licensed under [The MIT License (MIT)](http://opensource.org/licenses/MIT) Copyright (c) 2014 Liam Brummitt This license is also supplied with the release and source code. As stated in the license, absolutely no warranty is provided.