NPM Star
Collections
  1. Home
  2. Compare
  3. framer-motion vs gsap vs react-spring
NPM Compare

Compare NPM packages statistics, trends, and features

CollectionsVS Code extensionChrome extensionTermsPrivacyLinkTreeIndiehackersBig Frontendqiuyumi

Unable to load comparison data. Please try again later.

<h1 align="center"> <img width="35" height="35" alt="Motion logo" src="https://github.com/user-attachments/assets/00d6d1c3-72c4-4c2f-a664-69da13182ffc" /><br />Motion for React</h1> <h3 align="center"> An open source animation library<br />for React </h3> <p align="center"> <a href="https://www.npmjs.com/package/motion" rel="noopener noreferrer nofollow" ><img src="https://img.shields.io/npm/v/motion?color=0368FF&label=version" alt="npm version"></a> <a href="https://www.npmjs.com/package/motion" rel="noopener noreferrer nofollow" ><img src="https://img.shields.io/npm/dm/framer-motion?color=8D30FF&label=npm" alt="npm downloads per month"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.jsdelivr.com/package/npm/motion"><img alt="jsDelivr hits (npm)" src="https://img.shields.io/jsdelivr/npm/hm/framer-motion?logo=jsdeliver&color=FF4FBA"></a> <img alt="NPM License" src="https://img.shields.io/npm/l/motion?color=FF2B6E"> </p>
npm install motion

Table of Contents

  1. Why Motion?
  2. 🍦 Platforms
  3. πŸŽ“ Examples
  4. ⚑️ Motion+
  5. πŸ‘©πŸ»β€βš–οΈ License
  6. πŸ’Ž Contribute
  7. ✨ Sponsors

Why Motion?

  • Simple API: First-class React, JavaScript, and Vue packages.
  • Hybrid engine: Power of JavaScript combined with native browser APIs for 120fps, GPU-accelerated animations.
  • Production-ready: TypeScript, extensive test suite, tree-shakable, tiny footprint. Batteries included: Gestures, springs, layout transitions, scroll-linked effects, timelines.

🍦 Platforms

Motion is available for React, JavaScript and Vue.

React

import { motion } from "motion/react" function Component() { return <motion.div animate={{ x: 100 }} /> }

Get started with Motion for React.

Note: Framer Motion is now Motion. Import from motion/react instead of framer-motion.

JS

import { animate } from "motion" animate("#box", { x: 100 })

Get started with JavaScript.

Vue

<script> import { motion } from "motion-v" </script> <template> <motion.div :animate={{ x: 100 }} /> </template>

Get started with Motion for Vue.

πŸŽ“ Examples & tutorials

Browse 330+ official examples, with copy-paste code that'll level-up your animations whether you're a beginner or an expert.

Over 100 examples come with a full step-by-step tutorial.

⚑️ Motion+

A one-time payment, lifetime-updates membership:

  • 330+ examples
  • 100+ tutorials
  • Premium APIs like Cursor and Ticker
  • Transition editor for Cursor and VS Code
  • AI skills
  • Private Discord
  • Early access content

Get Motion+

πŸ‘©πŸ»β€βš–οΈ License

  • Motion is MIT licensed.

πŸ’Ž Contribute

  • Want to contribute to Motion? Our contributing guide has you covered.

✨ Sponsors

Motion is sustainable thanks to the kind support of its sponsors.

Become a sponsor

Partners

Motion powers the animations for all websites built with Framer, the web builder for creative pros. The Motion website itself is built on Framer, for its delightful canvas-based editing and powerful CMS features.

<a href="https://framer.link/FlnUbQY"> <img alt="Framer" src="https://github.com/user-attachments/assets/22a79be7-672e-4336-bfb7-5d55d1deb917" width="250px" height="150px"> </a>

Motion drives the animations on the Cursor homepage, and is working with Cursor to bring powerful AI workflows to the Motion examples and docs.

<a href="https://cursor.com"> <img alt="Cursor" src="https://github.com/user-attachments/assets/81c482d3-c2c2-4b35-bbcf-933b28d5b448" width="250px" height="150px" /> </a>

Platinum

<a href="https://linear.app"><img alt="Linear" src="https://github.com/user-attachments/assets/f9ce44b4-af28-4770-bb6e-9515b474bfb2" width="250px" height="150px"></a> <a href="https://figma.com"><img alt="Figma" src="https://github.com/user-attachments/assets/1077d0ab-4305-4a1f-81c8-d5be8c4c6717" width="250px" height="150px"></a> <a href="https://sanity.io"><img alt="Sanity" src="https://github.com/user-attachments/assets/80134088-f456-483f-8edd-940593c120ce" width="250px" height="150px"></a> <a href="https://animations.dev"><img alt="Sanity" src="https://github.com/user-attachments/assets/7c5ab87d-c7d9-44b4-9c7e-f9e6a9f3ba3b" width="250px" height="150px"></a> <a href="https://clerk.com?utm_campaign=motion"><img alt="Clerk" src="https://github.com/user-attachments/assets/16789f85-eaf4-46fb-9961-b3e66d33afbc" width="250px" height="150px"></a>

Gold

Silver

<a href="https://liveblocks.io"><img alt="Liveblocks" src="https://github.com/user-attachments/assets/28eddbe5-1617-4e74-969d-2eb6fcd481af" width="150px" height="100px"></a> <a href="https://www.frontend.fyi/?utm_source=motion"><img alt="Frontend.fyi" src="https://github.com/user-attachments/assets/f16e3eb9-f0bd-4ad1-8049-f079a3d65c69" width="150px" height="100px"></a> <a href="https://firecrawl.dev"><img alt="Firecrawl" src="https://github.com/user-attachments/assets/2c44e7f4-5c2a-4714-9050-1570538665ff" width="150px" height="100px"></a> <a href="https://puzzmo.com"><img alt="Puzzmo" src="https://github.com/user-attachments/assets/e32205a7-3ab1-41ec-8729-a794058fd655" width="150px" height="100px"></a> <a href="https://bolt.new"><img alt="Bolt.new" src="https://github.com/user-attachments/assets/7932d4b2-bb6c-422e-82b9-6ad78a7e3090" width="150px" height="100px"></a>

Personal

  • OlegWock
  • Lambert Weller
  • Jake LeBoeuf

GSAP (GreenSock Animation Platform)

GSAP - Animate anything

GSAP is a framework-agnostic JavaScript animation library that turns developers into animation superheroes. Build high-performance animations that work in every major browser. Animate CSS, SVG, canvas, React, Vue, WebGL, colors, strings, motion paths, generic objects... anything JavaScript can touch! GSAP's <a href="https://gsap.com/docs/v3/Plugins/ScrollTrigger/">ScrollTrigger</a> plugin delivers jaw-dropping scroll-based animations with minimal code. <a href="https://gsap.com/docs/v3/GSAP/gsap.matchMedia()">gsap.matchMedia()</a> makes building responsive, accessibility-friendly animations a breeze.

No other library delivers such advanced sequencing, reliability, and tight control while solving real-world problems on over 12 million sites. GSAP works around countless browser inconsistencies; your animations just work. At its core, GSAP is a high-speed property manipulator, updating values over time with extreme accuracy. It's up to 20x faster than jQuery!

GSAP is completely flexible; sprinkle it wherever you want. Zero dependencies.

There are many optional <a href="https://gsap.com/docs/v3/Plugins">plugins</a> and <a href="https://gsap.com/docs/v3/Eases">easing</a> functions for achieving advanced effects easily like <a href="https://gsap.com/docs/v3/Plugins/ScrollTrigger/">scrolling</a>, <a href="https://gsap.com/docs/v3/Plugins/MorphSVGPlugin">morphing</a>, text splitting, animating along a <a href="https://gsap.com/docs/v3/Plugins/MotionPathPlugin">motion path</a> or <a href="https://gsap.com/docs/v3/Plugins/Flip/">FLIP</a> animations. There's even a handy <a href="https://gsap.com/docs/v3/Plugins/Observer/">Observer</a> for normalizing event detection across browsers/devices.

Get Started

Get Started with GSAP

Docs & Installation

View the <a href="https://gsap.com/docs">full documentation here</a>, including an <a href="https://gsap.com/install">installation guide</a>.

CDN

<script src="https://cdn.jsdelivr.net/npm/gsap@3.15/dist/gsap.min.js"></script>

See <a href="https://www.jsdelivr.com/gsap">JSDelivr's dedicated GSAP page</a> for quick CDN links to the core files/plugins. There are more <a href="https://gsap.com/install">installation instructions</a> at gsap.com.

Every major ad network excludes GSAP from file size calculations and most have it on their own CDNs, so contact them for the appropriate URL(s).

NPM

See the <a href="https://gsap.com/install">guide to using GSAP via NPM here</a>.

npm install gsap

GSAP's core can animate almost anything including CSS and attributes, plus it includes all of the <a href="https://gsap.com/docs/v3/GSAP/UtilityMethods">utility methods</a> like <a href="https://gsap.com/docs/v3/GSAP/UtilityMethods/interpolate()">interpolate()</a>, <a href="https://gsap.com/docs/v3/GSAP/UtilityMethods/mapRange()">mapRange()</a>, most of the <a href="https://gsap.com/docs/v3/Eases">eases</a>, and it can do snapping and modifiers.

// typical import import gsap from "gsap"; // get other plugins: import ScrollTrigger from "gsap/ScrollTrigger"; import Flip from "gsap/Flip"; import Draggable from "gsap/Draggable"; // or all tools are exported from the "all" file (excluding members-only plugins): import { gsap, ScrollTrigger, Draggable, MotionPathPlugin } from "gsap/all"; // don't forget to register plugins gsap.registerPlugin(ScrollTrigger, Draggable, Flip, MotionPathPlugin);

The NPM files are ES modules, but there's also a /dist/ directory with <a href="https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/">UMD</a> files for extra compatibility.

GSAP is FREE!

Thanks to Webflow, GSAP is now 100% FREE including ALL of the bonus plugins like SplitText, MorphSVG, and all the others that were exclusively available to Club GSAP members. That's right - the entire GSAP toolset is FREE, even for commercial use! 🀯 Read more here

ScrollTrigger & ScrollSmoother

If you're looking for scroll-driven animations, GSAP's <a href="https://gsap.com/docs/v3/Plugins/ScrollTrigger/">ScrollTrigger</a> plugin is the standard. There's a companion <a href="https://gsap.com/docs/v3/Plugins/ScrollSmoother/">ScrollSmoother</a> as well.

ScrollTrigger

Using React?

There's a <a href="https://www.npmjs.com/package/@gsap/react">@gsap/react</a> package that exposes a useGSAP() hook which is a drop-in replacement for useEffect()/useLayoutEffect(), automating cleanup tasks. Please read the <a href="https://gsap.com/react">React guide</a> for details.

Resources

  • <a href="https://gsap.com/">gsap.com</a>
  • <a href="https://gsap.com/get-started/">Getting started guide</a>
  • <a href="https://gsap.com/docs/">Docs</a>
  • <a href="https://gsap.com/demos">Demos & starter templates</a>
  • <a href="https://gsap.com/community/">Community forums</a>
  • <a href="https://gsap.com/docs/v3/Eases">Ease Visualizer</a>
  • <a href="https://gsap.com/showcase">Showcase</a>
  • <a href="https://www.youtube.com/@GreenSockLearning">YouTube Channel</a>
  • <a href="https://gsap.com/cheatsheet">Cheat sheet</a>
  • <a href="https://webflow.com">Webflow</a>

Need help?

Ask in the friendly <a href="https://gsap.com/community/">GSAP forums</a>. Or share your knowledge and help someone else - it's a great way to sharpen your skills! Report any bugs there too (or <a href="https://github.com/greensock/GSAP/issues">file an issue here</a> if you prefer).

License

GreenSock's standard "no charge" license can be viewed at <a href="https://gsap.com/standard-license">https://gsap.com/standard-license</a>.

Copyright (c) 2008-2026, GreenSock. All rights reserved.

<p align="center"> <img src="https://i.imgur.com/QZownhg.png" width="240" /> </p> <br /> <h1 align="center">react-spring</h1> <h3 align="center">A spring-physics first animation library <br>giving you flexible tools to confidently cast your ideas</h3> <br> <p align="center"> <a href="https://www.npmjs.com/package/react-spring" target="_blank"> <img src="https://img.shields.io/npm/v/react-spring.svg?style=flat&colorA=000000&colorB=000000" /> </a> <a href="https://www.npmjs.com/package/react-spring" target="_blank"> <img src="https://img.shields.io/npm/dm/react-spring.svg?style=flat&colorA=000000&colorB=000000" /> </a> <a href="https://discord.gg/ZZjjNvJ" target="_blank"> <img src="https://img.shields.io/discord/740090768164651008?style=flat&colorA=000000&colorB=000000&label=discord&logo=discord&logoColor=ffffff" alt="Chat on Discord"> </a> </p> <br>

react-spring is a cross-platform spring-physics first animation library.

It's as simple as:

const styles = useSpring({ from: { opacity: 0 }, to: { opacity: 1 } }) <animated.div style={styles} />

Just a small bit about us:

  • Cross-Platform: We support react-dom, react-native, react-three-fiber, react-konva & react-zdog.
  • Versatile: Be declarative with your animations or if you prefer, imperative.
  • Spring-Physics First: By default animation use springs for fluid interactivity, but we support durations with easings as well.

There's a lot more to be had! Give it a try and find out.

Getting Started

⚑️ Jump Start

# Install the entire library npm install react-spring # or just install your specific target (recommended) npm install @react-spring/web
import { animated, useSpring } from '@react-spring/web' const FadeIn = ({ isVisible, children }) => { const styles = useSpring({ opacity: isVisible ? 1 : 0, y: isVisible ? 0 : 24, }) return <animated.div style={styles}>{children}</animated.div> }

It's as simple as that to create scroll-in animations when value of isVisible is toggled.

πŸ“– Documentation and Examples

More documentation on the project can be found here.

Pages contain their own examples which you can check out there, or open in codesandbox for a more in-depth view!


πŸ“£ What others say

<p align="middle"> <img src="assets/testimonies.jpg" /> </p>

Used by

<p align="middle"> <a href="https://nextjs.org/"><img width="285" src="assets/projects/next.png"></a> <a href="https://codesandbox.io/"><img width="285" src="assets/projects/csb.png"></a> <a href="https://aragon.org/"><img width="285" src="assets/projects/aragon.png"></a> </p>

And many others...

Backers

Thank you to all our backers! πŸ™ If you want to join them here, then consider contributing to our Opencollective.

<a href="https://opencollective.com/react-spring#backers" target="_blank"> <img src="https://opencollective.com/react-spring/backers.svg?width=890"/> </a>

Contributors

This project exists thanks to all the people who contribute.

<a href="https://github.com/react-spring/react-spring/graphs/contributors"> <img src="https://opencollective.com/react-spring/contributors.svg?width=890" /> </a>

Dependencies Comparison

framer-motion

Dependencies

tslib^2.4.0
motion-dom^12.40.0
motion-utils^12.39.0

Dev Dependencies

three0.137.0
@types/three0.137.0
@thednp/dommatrix^2.0.11
@radix-ui/react-dialog^1.1.15

Peer Dependencies

react^18.0.0 || ^19.0.0
react-dom^18.0.0 || ^19.0.0
@emotion/is-prop-valid*

gsap

Dependencies

Dev Dependencies

Peer Dependencies

react-spring

Dependencies

@react-spring/core~10.1.0
@react-spring/konva~10.1.0
@react-spring/native~10.1.0
@react-spring/three~10.1.0
@react-spring/web~10.1.0
@react-spring/zdog~10.1.0

Dev Dependencies

Peer Dependencies

react^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0

Who's Using These Packages

framer-motion

openapi-devtools
openapi-devtools

Browser extension that generates API specs for any app or website

purple-admin-ui
purple-admin-ui

Next.js와 Tailwindλ₯Ό μ΄μš©ν•œ λͺ¨-던 μ–΄λ“œλ―Ό ν…œν”Œλ¦Ώ

PDFLib
PDFLib

A robust PHP library to manipulate PDFs using Ghostscript. Convert PDF to Images, Merge, Split, Encrypt, Watermark, Compress, and more with a simple fluent API.

kohamar-aradhanaplatform.com
kohamar-aradhanaplatform.com

gsap

tweene
tweene

JavaScript Animation Proxy

MacOS_Portfolio
MacOS_Portfolio

A macOS-inspired React portfolio app with authentic window management, gallery, and responsive design.

fizzi-landingpage-jp
fizzi-landingpage-jp

Fizzi Landing Page

DungNN
DungNN

My Pofolio

react-spring

urql-devtools
urql-devtools

A tool for monitoring and debugging urql during development

roact-spring
roact-spring

A modern spring-physics based animation library for react-lua based on react-spring

cheeseswap-interface
cheeseswap-interface

Web swap/exchange interface

TradeBridgeX
TradeBridgeX
panas-token-estable
panas-token-estable

PANAS Token Estable - Smart contracts para token estable principal (USDC-like) en Solana y Algorand

StarsIssuesVersionUpdatedβ“˜Last publish dateCreatedβ“˜Package creation dateSizeβ“˜Minified + Gzipped size
F
framer-motion
32,27613112.40.0a month ago7 years agoinstall size 59.1 KB
G
gsap
25,76163.15.02 months ago12 years agoinstall size 26.7 KB
R
react-spring
29,1068210.0.4a month ago8 years agoinstall size 19.5 KB