motiondivision

    motiondivision/motion

    #286 this week

    A modern animation library for React and JavaScript

    frontend
    animation
    animation-js
    motion
    react
    reactanimations
    TypeScript
    MIT
    32.8K stars
    1.3K forks
    32.8K GitHub watchers
    Updated 7/12/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Provides a modern animation library for React, JavaScript, and Vue with a simple API and GPU-accelerated performance.
    • Delivers production-ready, TypeScript-based animations with a tiny footprint and hybrid engine for smooth 120fps rendering.
    • Use for creating performant, interactive UI animations in React applications with minimal setup.
    • Use for adding scroll-linked effects and layout transitions in JavaScript projects to enhance user experience.
    • Use for building animated Vue components leveraging a consistent API across multiple frontend frameworks.

    About 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

    Gold

    Silver

    Liveblocks Frontend.fyi Firecrawl Bolt.new

    Personal sponsors

    Discover Repositories

    Search across tracked repositories by name or description