Motion Design, for the web
✨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 drei.lu
Animate HTML/SVG via React or other libraries
Choreograph generative interactive art
Or animate any other JS variable
Documentation and Tutorials
The docs are at theatrejs.com/docs:
- Video tutorials
Community and support
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
Helping with documentation
The documentation website's repo is here.
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.