A multi-core friendly C++ rigid body physics and collision detection library for games and VR applications.
google-deepmind/mujoco
A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research.
- Stars
- 15,763
- Forks
- 1,868
- Open issues
- 304
- Last commit
- 8 hours ago
What is it?
MuJoCo (Multi-Joint dynamics with Contact) is a general-purpose physics engine for simulating articulated structures that interact with their environment. It targets robotics, biomechanics, graphics and animation, and machine learning, where accurate contact dynamics and fast stepping matter.
The core is a C API. The runtime simulation operates on preallocated low-level data structures produced by a built-in XML compiler, and the library includes a native OpenGL-based interactive viewer called simulate. A large set of utility functions computes physics-related quantities.
Official Python bindings are available on PyPI, along with a Unity plug-in and JavaScript/WebAssembly support. The project also includes MJX, a branch written in JAX, and offers tutorials covering model editing, multithreaded rollouts and optimal control.
Key features
- 01Simulates articulated bodies with accurate contact dynamics.
- 02Built-in XML compiler produces low-level data structures for fast runtime simulation.
- 03Native interactive viewer (simulate) rendered with OpenGL.
- 04C API with a large set of physics utility functions.
- 05Python bindings installable via pip, plus Unity and WebAssembly bindings.
- 06MJX branch implemented in JAX for accelerator-based workflows.
Use cases
- Training control policies for robots in simulation.
- Biomechanics studies of human or animal musculoskeletal models.
- Model-based control research such as LQR or trajectory optimization.
- Prototyping robot models converted from CAD or other formats to MJCF.
Quick start
- 1
Install the Python bindings from PyPI
pip install mujoco - 2
Or download prebuilt binaries from the releases page
Things to know
- Building from source may be unstable because the main branch tip is not guaranteed stable.
- Pre-built Linux Python wheels target manylinux2014, so compatibility depends on your distribution.
- The project states it is not an officially supported Google product.
Topics
FAQ
- What is mujoco?
- A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research. MuJoCo (Multi-Joint dynamics with Contact) is a general-purpose physics engine for simulating articulated structures that interact with their environment. It targets robotics, biomechanics, graphics and animation, and machine learning, where accurate contact dynamics and fast stepping matter.
- Is mujoco free to use? What license does it have?
- mujoco is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is mujoco still maintained?
- Actively maintained. The last commit to mujoco was on Oct 19, 2026.
- What can I use mujoco for?
- Training control policies for robots in simulation. Biomechanics studies of human or animal musculoskeletal models. Model-based control research such as LQR or trajectory optimization. Prototyping robot models converted from CAD or other formats to MJCF.
- How do I install mujoco?
- Install the Python bindings from PyPI: pip install mujoco Or download prebuilt binaries from the releases page
- Where can I get mujoco?
- The source code and installation instructions are on GitHub: https://github.com/google-deepmind/mujoco
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source Rust software that runs a tiny biped duck robot, covering motion control, gamepad, updates and camera streaming.
ASPIRE is a framework where coding agents iteratively refine reusable robot skills for simulated and real-robot manipulation tasks instead of training model weights.
A curated awesome-list of robotics books, courses, simulators, software libraries, conferences, journals and competitions.
An open framework for building embodied agents that use LLM planners, VLA manipulation models and memory to run robot tasks in simulators and on real robots.
An interactive TypeScript and Three.js solar system simulator that shows how gravity shapes orbits, with a guided tour and real astronomical data.