React Spring
A cross-platform, spring-physics-first animation library for React. Part of Open-source motion studio: 20 repos.
Checked 2026-10-27 against the GitHub repository, its README, and the npm or PyPI registry where relevant.
| Runtime | Browser, React. Not a renderer. |
| How an agent drives it | Library API inside React components. It animates against real time, so it needs a clock-controlled host for deterministic frames; that is an assessment from the README’s “Library-clock” caveat for Remotion, not something tested here. |
| License | MIT. |
| Maintenance | Latest release v10.1.2, 2026-06-24; repo pushed 2026-10-27; not archived. |
What it gives you
- Input: hooks such as
useSpring({ opacity: isVisible ? 1 : 0, y: isVisible ? 0 : 24 })applied toanimatedcomponents. Output: animated values in the DOM or react-three-fiber scenes. - Targets:
@react-spring/weband@react-spring/three(react-three-fiber). Springs by default; durations with easings are supported.
Key differentiator
Interactive, interruptible motion from spring physics: animations respond naturally when state changes mid-flight. Source: README (“Spring-Physics First”).
Pick something else when
Anime.js or GSAP for authored timelines with fixed durations, which suit scripted video. Motion for React layout animations and gestures. Remotion’s own spring helper when you are already inside Remotion. See the animation comparison.
Agent fit
Weak for scripted video. Spring physics is designed for interaction, and a video pipeline wants fixed, seekable timelines.
Overlap with the rest of the stack
Overlaps Anime.js on animating values; needs React, so it only pairs with Remotion, not HyperFrames.