Motion is a modern animation library for JavaScript, React, and Vue that provides a unified API for building GPU-accelerated animations across multiple frameworks.
The library solves the problem of creating performant, complex animations by combining JavaScript with native browser APIs to achieve 120fps, GPU-accelerated results. Its hybrid engine approach allows developers to write animations once and deploy them across React, vanilla JavaScript, and Vue applications. The tool includes built-in support for gestures, springs, layout transitions, scroll-linked effects, and timelines, eliminating the need to assemble these capabilities from separate libraries.
Motion suits teams building interactive web applications where animation quality and performance matter. The project is production-ready with TypeScript support, an extensive test suite, tree-shakable code, and a small footprint. It provides first-class support for React through a dedicated package, alongside standalone JavaScript and Vue implementations. The library includes over 330 official examples with copy-paste code and more than 100 step-by-step tutorials to help developers at all skill levels.
The project maintains active development with regular updates to its core animation engine and framework integrations. The maintainers invest in comprehensive documentation and educational resources, including the Motion+ membership tier that provides premium APIs, transition editors, and early access to new features. The codebase is written in TypeScript and accepts community contributions through an established contributing guide.