Skip to content


Repository files navigation

OpenSim Logo

Continuous Integration Badge Releases Badge License Badge Supported Platforms Badge ZenHub Badge ZenHub Badge

NOTE: This repository contains the source code of OpenSim 4.x. For OpenSim 3.x or earlier, see this link.

OpenSim is software that lets users develop models of musculoskeletal structures and create dynamic simulations of movement, such as this one:


More information can be found at our websites:

This repository contains:

  • OpenSim's C++ libraries.
  • OpenSim's C++ examples.
  • OpenSim's command-line applications (inverse kinematics, computed muscle control, etc.).
  • OpenSim's Java and Python bindings.

This repository does not include source code for the OpenSim GUI. The source code for the Opensim GUI can be found here.

Download and Setup

Depending on your needs, there are different ways of downloading and setting up OpenSim:


OpenSim's documentation can be found in our Documentation website. OpenSim's C++ API reference can be found here.

A simple example of an elbow simulation in C++, Python and Matlab can be found in the OpenSim API Example page of this repository's wiki.

Examples and Tutorials for OpenSim can be found in the Examples and tutorials website. These tutorials move from introductory to more advanced, so you can learn OpenSim in a progressive way. Additional OpenSim-based tutorials, homework problems, and project ideas are available on the Biomechanics of Movement classroom site.

Releases GitHub release (latest by date including pre-releases)

This repository contains releases for OpenSim 4.x. You can find all of the OpenSim's releases in the Releases page of this repository.

Build instructions platforms

We provide scripts to build OpenSim on Windows, macOS and Linux (Ubuntu and Debian). The instructions to download and execute the scripts can be found in the Build Instructions page of this repository's wiki.

Contribute GitHub contributors

There are many ways in which you can participate in this project. For example:

  • Report bugs and request features by submitting a GitHub Issue.
  • Ask and answer questions on our Forum.
  • Review and test new Pull Requests.
  • Review the Documentation and the Wiki by reporting typos, confusing explanations and adding/suggesting new content.
  • Fix bugs and contribute to OpenSim's source code by creating a Pull Requests.

Please, read our Developer's guide, Developer's Guidelines and our Code of Conduct before making a pull request.

License License

Licensed under the Apache License, Version 2.0. See the full text of the Apache License, Version 2.0 for more information. This license makes OpenSim suitable for commercial, government, academic, and personal use.

Third-party components have their own licenses. see our Notice, and Acknowledgements webpages for more information.

How to acknowledge us

Acknowledging the OpenSim project helps us and helps you. It allows us to track our impact, which is essential for securing funding to improve the software and provide support to our users (you). If you use OpenSim, we would be extremely grateful if you acknowledge us by citing the following paper:

Seth A, Hicks JL, Uchida TK, Habib A, Dembia CL, et al. (2018) OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement. PLOS Computational Biology 14(7): e1006223.

If you use plugins, models, or other components contributed by your fellow researchers, you must acknowledge their work as described in the license that accompanies each of these files.


The OpenSim project is currently supported by the following:

Past funding includes the following grants and contracts:

  • United States National Institutes of Health (NIH)
    • Simulation of Biological Structures (Simbios; U54 GM072970)
    • Simulation in Rehabilitation Research (NCSRR; R24 HD065690, P2C HD065690)
    • Mobilize Center (U54 EB020405)
  • United States Defense Advanced Research Projects Agency (DARPA)
    • Warrior Web (W911QX-12-C-0018)