For programmatic animation library, the first results are mojs/mojs (This project is a declarative animation library focused on vector graphics and motion effects, matching the requirement for code-based animation although it is specifically tailored for the web rather than general cross-platform use), timdonnelly/advance (Advance is a physics-based animation library for Apple platforms that uses code to drive programmatic value transitions, missing cross-platform support outside iOS, tvOS, and macOS) and michaelvillar/dynamics.js (It is a programmatic animation library that specializes in physics-based spring and bounce motions through code, though it lacks a few broader features like full vector graphics rendering). framer/motion and juliangarnier/anime round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Compare open-source programmatic animation libraries on GitHub to find tools for creating code-driven animations in applications.
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 project is a declarative animation library focused on vector graphics and motion effects, matching the requirement for code-based animation although it is specifically tailored for the web rather than general cross-platform use.
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 physics-based animation library for Apple platforms that uses code to drive programmatic value transitions, missing cross-platform support outside iOS, tvOS, and macOS.
dynamics.js is a physics-based JavaScript animation engine designed to create spring and bounce animations. It utilizes the browser animation frame loop to ensure motion is synchronized with the refresh rate. The engine includes tools for animation debugging, allowing users to slow down or freeze active motions to tune parameters. It also features a timing mechanism that executes callbacks synchronized with the animation frame rate to prevent visual stuttering. The project provides a physics solver based on mass, stiffness, and damping constants. Additionally, it includes a utility for apply
It is a programmatic animation library that specializes in physics-based spring and bounce motions through code, though it lacks a few broader features like full vector graphics rendering.
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 React-based programmatic animation library offering a declarative API, physics-based springs, and layout transitions, though it is tied specifically to UI components rather than general-purpose vector graphics rendering.
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 JavaScript animation engine provides a declarative API, timeline control, and easing functions for programmatic animation through code, though it focuses primarily on DOM and SVG rather than raw vector graphics rendering.
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
This repository is a programmatic JavaScript animation library that uses code-based transforms and easing functions to render DOM motions, though it is focused on UI elements rather than general vector graphics.
This project is a browser animation library and DOM animation engine that serves as a JavaScript polyfill for the Web Animations API. It provides a programmatic interface for driving visual property changes and transitions of document elements within web browsers. The library enables programmatic UI animation and dynamic document styling using keyframes and precise timing configurations. It supports a unified interface for both standard web elements and vector graphics animation.
This repository provides a JavaScript polyfill for the Web Animations API that enables programmatic DOM and vector graphics animation with timeline controls and keyframe interpolation, though it lacks built-in physics-based springs.
Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se
Two.js is a programmatic vector graphics and animation library featuring a unified API and multi-backend rendering, though it lacks built-in physics-based springs and advanced timeline controls compared to dedicated motion frameworks.
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 uses a declarative scene graph and code-based scripts to generate vector-based mathematical animations without timeline editors.
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 animation library that provides spring physics, interpolation, and a functional API for programmatic motion without a timeline editor.
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
GSAP is a robust programmatic animation framework built around timeline control and easing functions, though it focuses on DOM and CSS interpolation rather than standalone vector graphics rendering.
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 uses code-based variants, spring physics, and timeline management for programmatic UI transitions, though its framework integration makes it narrower than a standalone general graphics library.
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
React-spring is a programmatic animation library that uses physics-based spring models to drive declarative motion for user interfaces and 3D scenes, fitting most of the requested capabilities except for traditional time-based easing functions.
Macaw is a Swift vector graphics library and animation framework used to create and render scalable geometric shapes and text. It functions as an SVG rendering engine and an interactive vector graphics toolkit for displaying complex artwork while maintaining image quality at any scale. The framework enables the animation of shape properties and node transformations, including the ability to morph one vector path into another. It allows for the integration of external SVG files and the application of linear and radial gradients to fills and strokes. The toolkit covers a range of capabilities
Macaw is a Swift vector graphics library and animation framework that lets you render and animate geometric shapes programmatically, fitting the requirement for a code-driven animation tool though it is tied specifically to iOS and macOS platforms.
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 programmatic JavaScript animation library supporting SVG animations, easing, and spring physics, though it is focused on DOM and SVG element manipulation rather than a fully declarative scene-graph rendering API.
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 library provides a declarative, cross-platform framework for programmatic UI animations driven by code and physics-based motion, making it a strong fit despite lacking vector graphics rendering and timeline control features.
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 cross-platform support for programmatic mobile animations, though it is specifically tailored for React Native UI elements rather than general-purpose vector graphics.
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 featuring a declarative API and physics-based springs, though it focuses primarily on web interface transitions rather than general vector graphics rendering.
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 scriptable, code-driven framework for generating precise technical and mathematical animations through Python, fitting the programmatic animation category well while focusing heavily on mathematical video production rather than general-purpose UI or graphics rendering.
React-bits is a comprehensive toolkit for web development that combines a library of interactive motion primitives with a command-line interface for component management and AI-assisted coding. It provides a framework for implementing declarative motion states and specialized typography animations, allowing developers to build responsive, gesture-enabled interfaces that respond to user input. The project distinguishes itself through a remote registry system that allows for the direct injection of modular UI source code into local project directories. It also features a protocol-based bridge t
React-bits is a UI component library focused on interactive motion and animations rather than a foundational programmatic animation engine, but it offers declarative motion primitives and transition effects suitable for code-driven UI animations.
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 is a programmatic video and animation framework built for React that lets you generate visual content through code, matching the requested programmatic approach though it focuses on video rendering rather than general UI animations.
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
React-simple-animate is a declarative motion framework for building style transitions and keyframe animations through code, making it a good fit for programmatic web animations even though it leans toward CSS style orchestration rather than general vector rendering.
Snap.svg is a JavaScript library for creating, manipulating, and animating scalable vector graphics directly in the web browser. It functions as a browser-based SVG generator and vector graphics manipulation tool, providing a framework to programmatically generate complex drawings and masks. The project serves as an animation engine for transitioning visual properties and attributes over time to create motion. It enables the development of dynamic SVG content, including the ability to animate viewboxes, matrices, and polygon points. Its capability surface covers geometric calculations and th
Snap.svg is a JavaScript library for programmatically manipulating and animating SVG graphics through code, fitting the core category despite lacking a built-in physics spring engine or high-level declarative layout API.
animateplus is a lightweight JavaScript animation library designed for creating high-performance 60 FPS visual transitions and numeric interpolations for website elements. It functions as a promise-based animation engine, using async await patterns to sequence complex motion timelines and timing delays. The library includes a motion blur simulator that applies directional speed blur along the X and Y axes to mimic high velocity. It also provides a numeric interpolation tool to transition colors and graphic properties between states. The system manages high-performance element control, allowi
This lightweight JavaScript library provides promise-based timeline sequencing and numeric interpolation for programmatic animations, though it lacks dedicated physics-based spring simulations.
React animations is a CSS keyframe animation library and inline style animation tool designed for React applications. It supplies pre-built keyframe motion sequences that can be applied directly to inline styles and component layouts without requiring external CSS stylesheet files. The library functions by defining reusable animation keyframes as plain immutable JavaScript objects, eliminating the need for imperative animation controllers. It dynamically generates standard CSS keyframe rules at runtime from these declarative JavaScript objects and injects them into the document on the fly, at
This repository provides a declarative way to create and apply CSS keyframe animations through JavaScript objects in React, though it is more focused on style injection than full timeline control or physics springs.
Animate Components is a motion framework that provides a collection of declarative primitives for managing visual transitions and animation sequences within web applications. It functions as a component-based library designed to standardize motion behavior, ensuring that interface elements move and transition consistently across different parts of a project. The library distinguishes itself through a framework-neutral architecture that bridges animation logic with various component models. By utilizing a declarative interface, it allows developers to compose complex motion patterns and synchr
Animate Components is a programmatic motion framework that provides declarative primitives and transition management for web applications, though it focuses more on component-based UI transitions than general vector graphics rendering.
Swift animation library for iOS, tvOS and macOS.
This Swift-based animation framework enables you to build and run programmatic animations across Apple platforms through code, though it is tied to native platforms rather than being cross-platform.
Making Animation Simple
Just Animate is a TypeScript animation library that provides programmatic control over animations, though it lacks some of the comprehensive spring physics and advanced vector rendering requested.
:green_heart: A minimal Love2D animation library
This repository provides a minimal programmatic animation library for the LÖVE game framework, though it offers a much narrower scope and fewer built-in easing or physics features than a comprehensive cross-platform animation engine.
✨ (ノ´ヮ´)ノ*:・゚✧ A super easy animation library for React!
This React library enables programmatic UI animations through a declarative component-based API rather than a timeline editor, though it focuses more on component transitions than full vector rendering and physics springs.
Auto-animate is a framework-agnostic JavaScript animation library used to automatically animate the entry, exit, and movement of elements within a document. It functions as a transition tool that adds smooth motion to web application elements to prevent abrupt layout jumps during content changes. The utility is designed to be reduced motion compliant, automatically detecting and respecting system-level accessibility settings to disable animations for users with motion sensitivities. It also features a plugin system that allows the replacement of default fade and scale transitions with custom
Auto-animate is a framework-agnostic JavaScript library that handles element transitions automatically through code, though it focuses on layout transitions rather than full timeline-based programmatic animation.
Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,
Konva is an HTML5 canvas framework that provides a scene graph and animation support for building interactive 2D graphics, though it focuses more on manipulation and event handling than a pure programmatic animation timeline.
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 animation library provides a declarative framework for programmatic motion and lifecycle transitions, though it wraps an existing imperative engine rather than serving as a full standalone graphics rendering core.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| mojs/mojs | 18.7K | CoffeeScript | MIT | |
| timdonnelly/advance | 4.5K | Swift | BSD-2-Clause | |
| michaelvillar/dynamics.js |
| 7.6K |
| CoffeeScript |
| — |
| framer/motion | 32.4K | TypeScript | MIT |
| juliangarnier/anime | 69.9K | JavaScript | MIT |
| daniel-lundin/snabbt.js | 5.2K | JavaScript | MIT |
| web-animations/web-animations-js | 3.8K | JavaScript | Apache-2.0 |
| jonobr1/two.js | 8.6K | JavaScript | MIT |
| 3b1b/manim | 87.7K | Python | MIT |
| popmotion/popmotion | 20.2K | JavaScript | — |