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:

Art by drei.lu




The docs are at theatrejs.com/docs:
Join our friendly community on Discord, follow the updates on twitter or write us an email.
If you want to change the source of Theatre, have a look at the guide here.
You can always get help with bugfixes or discuss changes with our community on Discord, or directly open an issue on Github.
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.
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/core) is released under the Apache License. Same
goes for most packages in this repository.@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.$ claude mcp add theatre \
-- python -m otcore.mcp_server <graph>