React Spring

react-spring is a cross-platform animation library based on spring physics principles. It supports various platforms including React DOM, React Native, and React Three Fiber, enabling natural and flexible animations through both declarative and imperative approaches. With over 29,000 GitHub stars, it's an industry-standard library used by major projects like Next.js and CodeSandbox.

animation
animationspring-physicscross-platformreact-nativetypescript

๐ŸŽฎ Playground

Loading playground...
Use cases
  • โ€ขUI transitions like page changes and scroll-based fade-in/out effects
  • โ€ขNatural physics responses for drag-and-drop and gesture-based interactions
  • โ€ข3D graphics (Three.js) and canvas (Konva) animations
  • โ€ขNative-feeling interactive animations for mobile apps
  • โ€ขDynamic transitions for data visualizations in dashboards and charts
Good for
  • โœ“Natural and fluid animations based on spring physics principles
  • โœ“Cross-platform support for React DOM, React Native, Three.js, Konva, and more
  • โœ“Flexible API with both declarative (useSpring) and imperative approaches
  • โœ“Full TypeScript support with type safety
  • โœ“Active community with comprehensive documentation and examples
Not good for
  • โœ—Learning curve for developers unfamiliar with spring physics concepts
  • โœ—Configuration can become complex for intricate animation sequences
Installation
$ npm install @react-spring/web
Example
import { useSpring, animated } from "@react-spring/web"

export default function Demo() {
  const styles = useSpring({
    from: { opacity: 0 },
    to: { opacity: 1 }
  })
  
  return <animated.div style={styles}>Hello</animated.div>
}
Comparison

"More physics-accurate than Framer Motion, steeper learning curve but more control."

Trust Metrics

29K

GitHub Stars

3.5M

Weekly Downloads

Last Commit:Dec 9, 2025
Used by
UberDiscordShopify