stackpicks.dev
Back to gallery
motiondivision/motion preview
motiondivision
motiondivision/

motion

A modern animation library for React and JavaScript

Stars
32k
Forks
1.2k
Watchers
32k
Open issues
119
TypeScriptMIT main Updated 17 minutes ago~12 stars/day lifetime
Editor's take

Formerly Framer Motion. The default React animation library in 2026. Declarative, gesture support, layout animations, scroll, presence. ~31k stars and 3.6M weekly downloads. Trusted by Framer and Figma. Now a hybrid engine targeting 120fps GPU-accelerated animations.

Use this if

You are doing any non-trivial React animation — page transitions, gestures, layout animations.

Skip if

You are doing only static fades — CSS transitions are enough and ship zero JS.

Animation & Motion
Topics
animationanimation-jsmotionreactreactanimationsspring
Quick install
# Install via npm / pnpm / bun:
pnpm add motion
# or
npm install motion

Inferred from TypeScript · always double-check against the official README below.

README — rendered from motiondivision/motion

Motion logo
Motion

An open source animation library
for JavaScript, React and Vue

npm version npm downloads per month jsDelivr hits (npm) NPM License

# React / JavaScript
npm install motion

# Vue
npm install motion-v

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

✨ 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.

Framer

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

Cursor

Platinum

Linear Figma Sanity Sanity Clerk Greptile

Gold

Silver

Liveblocks Frontend.fyi Firecrawl Puzzmo Bolt.new

Personal sponsors

Live data via GitHub REST API · Cached 30 min · Created 16 Nov 2018