Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
June 18, 2021 13:05
November 22, 2022 15:05
February 23, 2022 13:11
March 8, 2023 12:26
June 18, 2021 13:05
June 18, 2021 13:05
June 18, 2021 13:05
June 1, 2022 15:50
October 1, 2021 13:04
February 19, 2022 17:54
June 18, 2021 13:05
March 8, 2023 12:26
February 21, 2022 13:33


Motion Design, for the web

GitHub branch checks state Join us on Discord Follow Theatre.js on Twitter Watch on YouTube

Update: We're hiring – join the core team!

Theatre.js is an animation library for high-fidelity motion graphics. It is designed to help you express detailed animation, enabling you to create intricate movement, and convey nuance.

Theatre.js can be used both programmatically and visually.

You can use Theatre.js to:

  • Animate 3D objects made with THREE.js or other 3D libraries


    Art by

  • Animate HTML/SVG via React or other libraries


  • Design micro-interactions


  • Choreograph generative interactive art


  • Or animate any other JS variable


Documentation and Tutorials

The docs are at

Community and support

Join our friendly community on Discord, follow the updates on twitter or write us an email.

Development and contributing

If you want to change the source of Theatre, have a look at the guide here.

Proposing fixes and changes

You can always get help with bugfixes or discuss changes with our community on Discord, or directly open an issue on Github.

Helping with outstanding issues

Feel free to chime in on any issue. We have also labeled some issues with "Help wanted" or "Good first issue" if you're just getting started with the codebase.

Helping with documentation

The documentation website's repo is here.

Writing/recording tutorials

If you make tutorials or video content about Theatre, tell us to showcase it here :)


Your use of Theatre.js is governed under the Apache License Version 2.0:

  • Theatre's core (@theatre/core) is released under the Apache License. Same goes for most packages in this repository.
  • The studio (@theatre/studio) is released under the AGPL 3.0 License. This is the package that you use to edit your animations, setup your scenes, etc. You only use the studio during design/development. Your project's final bundle only includes @theatre/core, so only the Apache License applies.