For programmatic animation engines, the strongest matches are react-spring/react-spring (This declarative motion framework uses physics-based spring simulations to), greensock/greensock-js (GreenSock-JS is a code-driven JavaScript animation library that provides) and julianshapiro/velocity (Velocity is a code-driven JavaScript animation library featuring CSS). motiondivision/motion-vue and plus1tv/react-anime round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Compare the best programmatic animation engines for developers. Hand-picked open-source GitHub repositories ranked by stars and activity.
react-spring is a declarative animation framework for React that drives visual transitions through state-driven declarations. It functions as a motion engine where animations are defined as target values pursued by a physics engine based on application state. The library utilizes a spring physics engine to calculate natural movements by simulating mass, tension, and friction instead of relying on fixed durations. To maintain high frame rates, it updates DOM elements directly via references to bypass the standard React render cycle. The framework covers physics-based motion and state-driven t
This declarative motion framework uses physics-based spring simulations to drive UI animations directly via code, matching the requested programmatic approach though it is specifically tailored for React applications.
GreenSock-JS is a JavaScript animation library and framework designed for animating CSS properties, SVG attributes, and JavaScript values. It functions as a scroll-driven animation engine and a sequencing system for coordinating multiple animations into a single timeline for precise execution across web browsers. The project provides tools for creating interactive scroll effects by linking animation progress to a user's scroll position. It also includes a responsive animation framework that adjusts behaviors and timing based on media queries to maintain consistency across different device scr
GreenSock-JS is a code-driven JavaScript animation library that provides precise timeline sequencing, interpolation, and scroll-driven orchestration for web projects, making it a flagship tool for programmatic motion.
Velocity is a JavaScript animation library used to create high-performance CSS and SVG animations. It functions as a CSS property interpolator and a spring physics engine, enabling the creation of smooth visual transitions and organic movement for web elements. The project provides a programmatic interface for modifying vector attributes and 3D transformations through its SVG animation framework. It further distinguishes itself as an animation sequence orchestrator, allowing for the chaining of movements and the staggering of start times across multiple elements using promises. The library c
Velocity is a code-driven JavaScript animation library featuring CSS and SVG property interpolation, spring physics, and promise-based sequence orchestration, aligning closely with programmatic motion needs despite lacking a declarative syntax.
Motion-vue is a declarative animation library for Vue that provides a framework for building fluid, high-performance user interface motion. It enables developers to define complex animation states and transitions using code-based variants and spring-driven physics, ensuring that visual updates remain synchronized with component lifecycles and application state. The library distinguishes itself through a layout projection engine that tracks element coordinates to animate transitions between layout states, and a gesture-driven input pipeline that maps pointer and scroll interactions to animatio
Motion-vue is a declarative animation library for Vue that enables programmatic, physics-driven UI motion and layout transitions, though it is tailored specifically to the Vue ecosystem rather than being a universal cross-platform framework.
React-anime is a declarative motion framework designed to integrate animation capabilities into component-based user interfaces. It functions as a library for animating CSS, SVG, and DOM properties by mapping component properties directly to animation states, allowing developers to define motion through a component-based architecture. The library distinguishes itself through its ability to manage hierarchical animation sequences and automated lifecycle transitions. It provides tools to orchestrate complex, nested motion effects and handles the entrance and exit of elements as they are added t
This React library provides declarative component-based animation orchestration and sequencing, fitting the need for code-driven motion effects though it wraps an underlying engine rather than implementing a standalone renderer.
react-motion is a physics-driven animation toolkit and library for React applications. It provides a system for creating fluid user interface transitions by simulating natural spring movement to move elements toward destination values using stiffness and damping parameters. The framework manages the visual entry and exit of components as they mount and unmount within the document structure. It coordinates complex motion patterns, including staggered animations and fluid transitions for items being added, removed, or reordered within dynamic lists. The library covers a broad range of animatio
This repository provides a physics-driven animation library for React that lets you declare animations through component state and spring physics rather than traditional GUIs, though it focuses heavily on spring dynamics rather than full timeline sequencing.
This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c
This project is a JavaScript-based programmatic animation engine that features timeline sequencing and easing, though it focuses primarily on DOM, CSS, and SVG rather than cross-platform canvas or WebGL rendering.
React-spring is a physics-based animation library designed to create fluid, natural motion for user interface elements and three-dimensional objects. It functions as a declarative motion framework that maps state changes to animated property values, utilizing spring physics—defined by mass, tension, and friction—rather than traditional time-based easing functions to calculate transitions. The library distinguishes itself through a rendering-agnostic architecture that decouples animation logic from specific UI frameworks, allowing for consistent application across web interfaces, 3D scenes, an
This repository provides a physics-based, declarative animation library that creates fluid motion through code rather than GUI timelines, making it a strong fit for programmatic animation even though it leans toward spring physics rather than traditional time-based sequencing.
Advance is a physics-based animation library and motion simulation toolkit for iOS, tvOS, and macOS. It provides a framework for driving value transitions using non-linear physics functions and a spring physics engine to produce natural, bouncy movements. The library distinguishes itself through a vector-based animation framework that allows custom data types to be animated by converting them into vector representations. It also implements velocity-preserving state handoffs to maintain a consistent rate of change when transitioning between different animation modes. The toolkit covers both t
Advance is a programmatic animation and motion simulation library for Apple platforms that uses physics-based spring functions and vector interpolation rather than timeline GUIs, though its scope is limited to Swift environments rather than cross-platform rendering.
React Move is a declarative animation library for React that animates components by interpolating between start and end states with configurable timing and easing. It provides data-driven transitions for single elements, groups, lists, and SVG elements, supporting staggered timing, custom interpolation for non-numeric values like colors and paths, and drag-and-drop reordering of list items. The library distinguishes itself through its support for custom interpolation functions that replace default numeric interpolation, keyed array reconciliation for tracking items as they enter, update, or l
This repository provides a declarative animation library for React that supports interpolation and timing, though it is scoped specifically to UI and SVG transitions rather than a general-purpose programmatic animation engine.
This project is a declarative animation library and high-performance engine designed for creating fluid, interactive vector motion graphics on the web. It provides a specialized framework for defining, rendering, and orchestrating complex visual sequences, including custom geometric shapes and dynamic property transitions. The library distinguishes itself through a robust particle system framework that generates explosive or organic visual effects by emitting multiple shapes with randomized trajectories and paths. It utilizes a master timeline controller to synchronize independent animation i
This repository provides a declarative JavaScript animation library featuring a master timeline controller and specialized shape rendering, fitting the requirement for programmatic animation tools despite being narrower than a full cross-platform engine.
snabbt.js is a JavaScript motion framework and CSS transform animation library used to create high-performance animations for DOM elements. It functions as a 3D CSS animation engine and a matrix-based geometry toolkit for calculating precise translations, rotations, scales, and skews. The framework provides a user-driven animation controller that allows animation progress to be tied to manual user input rather than standard time-based playback. It enables the simulation of depth and perspective by animating HTML elements into three-dimensional shapes. The system covers motion orchestration t
snabbt.js is a programmatic animation library for JavaScript that handles matrix-based 3D transformations and sequence chaining, though it focuses specifically on DOM elements rather than cross-platform rendering.
Manim is a Python-based computational geometry framework designed for programmatic video production. It functions as a mathematical animation engine, allowing users to generate high-fidelity visual content by scripting scene definitions rather than using traditional timeline-based editing software. The library is built to translate code-based instructions into precise, frame-accurate animations, making it a tool for explaining complex mathematical functions, geometric proofs, and abstract theories. The engine distinguishes itself through a declarative scene graph that organizes visual element
Manim is a Python-based programmatic animation engine that lets you create frame-accurate mathematical and geometric visualizations using code and a declarative scene graph instead of a visual timeline editor.
Remotion is a programmatic video framework that enables the creation of video content using component-based logic and standard web technologies. By leveraging a declarative animation engine, it allows developers to structure visual content as a hierarchy of reusable components, ensuring that animations and state updates remain consistent through deterministic frame execution. The framework distinguishes itself by utilizing a headless browser renderer that captures visual output frame-by-frame to generate high-quality video files. This architecture supports a cloud-native media pipeline, allow
Remotion provides a declarative, component-based programmatic animation and video creation framework that uses React and web technologies to render frame-by-frame outputs deterministically.
Motion is a high-performance animation library that provides a unified, declarative architecture for managing visual transitions and motion states across web interfaces. By utilizing a lightweight engine, it allows developers to define complex animations through component properties rather than manual DOM manipulation, ensuring consistent behavior across various component-based frameworks and vanilla JavaScript environments. The library distinguishes itself through a sophisticated physics-based motion engine that simulates natural movement using mass, damping, and stiffness parameters. It inc
Motion is a programmatic animation library that lets you build physics-based, declarative UI animations using code, though it focuses more on component motion and layout transitions than full timeline sequencing.
Animated is a declarative framework designed for creating high-performance, cross-platform interface movements. It provides a system for defining complex UI transitions through property interpolation, value mapping, and physics-based motion, allowing developers to orchestrate fluid visual effects without manual frame updates. The library distinguishes itself by offloading animation instructions to the native UI thread, ensuring consistent performance across mobile and web environments. It supports sophisticated motion design by linking multiple animation variables together, enabling coordinat
This repository provides a declarative animation framework for orchestrating high-performance, cross-platform UI movements using property interpolation and physics-based motion, matching the core search requirements even though some timeline sequencing details are handled through native thread drivers.
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
This repository provides a comprehensive JavaScript animation library with robust timeline sequencing and easing capabilities, though it focuses primarily on web elements rather than a general cross-platform rendering engine.
Framer Motion is a React animation library and hardware-accelerated motion engine. It provides a suite of systems for managing declarative transitions, automated layout interpolation, and animation states within React user interfaces. The project distinguishes itself through a layout transition orchestrator that automatically interpolates visual changes when elements shift position or size. It includes an interactive gesture system to trigger motion based on drags, hovers, and taps, as well as tools for binding animation progress to scroll positions. The library covers a broad range of motio
Framer Motion is a declarative React animation library that handles layout interpolation and gesture-driven transitions, though it is tied to a specific UI framework rather than serving as a general-purpose programmatic animation engine for any codebase.
Popmotion is a JavaScript animation library and declarative motion engine designed for creating programmatic motion and interactive transitions within web user interfaces. It provides a functional animation API that allows developers to define complex animation sequences through configuration objects rather than manual frame management. The engine utilizes a functional approach to animate user interface elements, implementing spring-based physics simulations to mimic real-world momentum. It employs interpolation-based value mapping and functional transformations to translate animation progres
Popmotion is a JavaScript library for programmatic animation and physics-based motion in web interfaces, though it focuses more on utility APIs and transitions than a full timeline-sequencing suite.
tween.js is a JavaScript animation engine and numeric interpolation library. It is designed to calculate intermediate values between a start and end state over time, using easing functions to create smooth transitions for numeric values and object properties. The project functions as both an animation sequence manager and an easing library, allowing for the coordination of concurrent animation groups and the chaining of multiple transitions. It provides tools for managing the rate of change through acceleration and deceleration functions. The library covers a broad range of motion capabiliti
This JavaScript animation library provides programmatic interpolation and easing functions for animating object properties with code, though it focuses more on tweening than full physics-based simulation or cross-platform rendering.
React-simple-animate is a declarative motion framework designed for building CSS keyframe animations and style transitions within web interfaces. It functions as a utility for orchestrating complex, multi-step visual effects by defining style sequences, timing, and easing properties directly within component logic. The library distinguishes itself through its focus on sequencing and coordination, allowing developers to chain multiple animation instances or group them to execute in specific orders. By utilizing functional hooks and declarative properties, it manages animation lifecycles and st
This React motion framework provides declarative style transitions and keyframe sequencing directly in code, though it focuses primarily on UI animations rather than full cross-platform rendering or physics simulation.
This project is a cross-platform animation engine and vector animation player designed to render complex motion graphics within web browsers. It functions as a declarative motion framework, allowing developers to decouple visual design from application logic by using structured data files to define sophisticated animations. The library distinguishes itself by offering multiple rendering paths, including native support for vector graphics through the browser document object model and raster-based drawing via canvas elements. It utilizes a dedicated property interpolation engine to calculate ke
This library functions as a declarative cross-platform animation engine that renders vector motion graphics from structured files, though it relies on pre-designed assets rather than pure code-first choreography.
Manim is a scriptable, code-driven framework designed for generating precise technical visualizations and mathematical animations. By using a high-level programming interface, it allows users to define geometric shapes, motion paths, and animation logic that are compiled into high-quality video assets. The system functions as a specialized engine for creating reproducible, data-driven representations of complex mathematical concepts and geometric transformations. The framework distinguishes itself through an interpolation-based engine that calculates intermediate states between keyframes to e
Manim is a code-driven framework for generating programmatic animations and mathematical visualizations, though it is tailored primarily to scientific and technical video rendering rather than general-purpose UI animation.
This library is a declarative framework for creating complex motion sequences and visual transitions within Flutter applications. It provides a unified interface for orchestrating interface element transformations, property updates, and animation lifecycles without requiring manual controller management or boilerplate code. The framework distinguishes itself through a fluent builder pattern that allows developers to chain multiple independent motion effects into a single execution pipeline. It supports advanced visual customization by integrating custom fragment shaders for GPU-accelerated re
This library provides declarative animation sequencing and fluid motion effects for Flutter applications, making it a solid fit for code-driven programmatic animation despite being tied to a specific UI toolkit.
This project is a cross-platform mobile animation library and component wrapper that enables movement and style transitions for mobile UI elements. It functions as a keyframe animation engine and a preset motion library, allowing developers to apply visual effects to components through a declarative API. The library provides a set of built-in entrance, exit, and alert effects for rapid implementation. It also supports the definition of custom motion sequences and unique keyframes to create repeatable, branded visual experiences. The system covers a range of motion capabilities, including the
This library provides a declarative API and keyframe presets for programmatic animations in React Native, though its scope is focused primarily on mobile UI transitions rather than a universal animation engine.
Making Animation Simple
This TypeScript library provides programmatic animation capabilities with a focus on simplicity, making it a good fit for code-driven animation even though it lacks some advanced features like physics-based simulation.
Swift animation library for iOS, tvOS and macOS.
This Swift-based animation framework enables you to choreograph and render animations programmatically for Apple platforms, though it lacks the cross-platform flexibility of multi-device engines.
| 仓库 | Star 数 | 语言 | 许可证 | 最后推送 |
|---|---|---|---|---|
| react-spring/react-spring | 29.1K | TypeScript | MIT | |
| greensock/greensock-js | 25.9K | JavaScript | — | |
| julianshapiro/velocity | 17.2K | JavaScript | MIT | |
| motiondivision/motion-vue | 2.2K | TypeScript | MIT | |
| plus1tv/react-anime | 1.6K | TypeScript | MIT | |
| chenglou/react-motion | 21.9K | JavaScript | MIT | |
| juliangarnier/anime | 69.9K | JavaScript | MIT | |
| pmndrs/react-spring | 29.1K | TypeScript | MIT | |
| timdonnelly/advance | 4.5K | Swift | BSD-2-Clause | |
| sghall/react-move | 6.6K | JavaScript | MIT |