30 open-source projects similar to hubspot/odometer, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Odometer alternative.
Hover is a collection of pre-defined CSS3 animations and reusable stylesheets for links, buttons, and images. It serves as a web UI animation kit and a library of styles written in CSS, Sass, and LESS to provide visual feedback when a user hovers over an element. The library includes specialized interactive effects that simulate tactile behaviors, such as page curls and the rendering of speech bubbles. It also provides a set of animation primitives to manipulate backgrounds, borders, shadows, and glow effects to simulate depth and elevation. The project covers a wide range of element motion
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
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
The RAW rational numbers library written in JavaScript
Numeral-js is a JavaScript number formatting library used to convert raw numeric values into human-readable strings for currencies, percentages, and abbreviations. It includes a numeric string parser to extract raw values from formatted strings by removing symbols and delimiters. The library provides locale-aware formatting to adjust decimal separators and currency symbols based on regional language settings. It also features a data size converter that transforms byte values into readable measurements using base-1000 or base-1024 standards. The system supports the registration of custom form
The RAW Complex.js is a complex numbers library written in JavaScript
The RAW JavaScript library to work with polynomials
A lightweight JavaScript library for number, money and currency formatting. (MOVED)
Chance is a JavaScript library for generating random data, designed to produce realistic test data for automated tests and prototypes. It uses a Mersenne Twister pseudo-random number generator that accepts an optional seed value, enabling reproducible sequences of random values across multiple runs. The library provides a wide range of generators for common data types, including random integers, floats, booleans, characters, strings, and dates, all with configurable ranges and character pools. It can generate realistic geographic data like addresses, as well as financial data such as credit c
money.js is a tiny (1kb) javascript currency conversion library, for web & nodeJS. (MOVED)
react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement and coordinate-based positioning to web elements. It serves as a tool for making user interface elements movable via mouse or touch interactions within React applications. The library supports the implementation of custom drag handles, allowing the initiation of movement to be restricted to specific child elements identified by CSS selectors. It also provides programmatic drag state management, enabling developers to control element positioning or use callbacks for movement wit
number-flow is an animated number UI component that creates fluid vertical transitions between numeric values using digit-by-digit animations. It serves as a locale-aware number formatter that represents values according to regional cultural rules and browser internationalization standards. The component is designed for precise visual integration, exposing internal elements via CSS to allow for external styling. It incorporates accessibility features by detecting browser capabilities and respecting system-level reduced motion preferences. The project covers capabilities for dynamic data visu
This project is a transition component library for React that manages CSS animations during the mounting and unmounting of components. It functions as a CSS class state manager and animation orchestrator, applying specific class sequences to track the entry and exit states of elements. The library coordinates the timing and sequence of multiple elements entering or leaving the screen. This includes managing synchronized group transitions for lists and triggering visual animations when switching between different URL routes. The system covers a range of transition capabilities, including stat
This is a React animation library providing a collection of components for creating choreographed motion, complex transitions, and SVG morphing. It functions as a motion design specification and a UI component animation wrapper system used to apply 3D transforms, Bezier curves, and entry-exit transitions to interface elements. The project includes a scroll-driven animation suite for synchronizing UI movements and parallax effects with the viewport position, as well as an SVG motion framework for animating paths, drawing lines incrementally, and interpolating coordinates for shape morphing. I
AndroidViewAnimations is an animation library and visual effects toolkit for Android applications. It provides a framework for implementing motion effects, such as bouncing, sliding, and rotating transitions, for views within Android layouts. The library features a collection of predefined motion presets and stylized transition effects. These include curated sequences for shaking and pulsing to guide user attention, as well as complex movements like hinging or rolling for interface entry and exit. The toolkit covers a wide range of visual effects, including linear slides, elastic bounces, tr
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
CountUp.js is a lightweight JavaScript library that animates a numerical value from zero to a target number over a configurable duration with smooth easing. It supports both count-up and count-down transitions, making it a focused tool for displaying animated numerical changes on web pages. The library distinguishes itself through support for bidirectional number animation, custom easing functions, and locale-aware number formatting with configurable separators, decimal points, and digit groupings. It also offers plugin-based rendering, allowing developers to replace the default display logic
This project is a cross-platform animation library for React Native that provides a declarative engine for building high-performance user interfaces. It functions by offloading animation logic and interaction processing to the native UI thread, ensuring that visual transitions remain smooth and responsive even when the main application thread is under heavy load. The library distinguishes itself through a specialized architecture that transforms standard functions into units capable of executing directly on the native thread. It utilizes shared-memory synchronization to maintain consistent da
ComponentKit is a declarative UI framework for building iOS interfaces through composition of small, reusable components. It provides a structured approach to constructing user interfaces where each component is defined as an immutable, pure function of its inputs, enabling predictable rendering and state management. The framework supports both stateless and stateful components, with controllers that can be attached to manage persistent state across component updates. The framework distinguishes itself through its component architecture that emphasizes explicit data flow and compile-time safe
react-native-skia is a cross-platform graphics framework that provides a high-performance 2D graphics engine for rendering shapes, paths, and images. It functions as a vector graphics engine and UI animation toolkit, allowing for hardware-accelerated visuals across mobile and web platforms. The project is distinguished by its integration of the Skia 2D graphics library, enabling a shader and filter pipeline for complex pixel-level effects. It supports the rendering of Lottie animations exported from After Effects and the execution of animations directly on the UI thread to maintain fluid moti
ViewAnimator is a Swift animation library and view transition framework designed to coordinate visual motion effects across interface elements. It provides a motion engine that executes animation sequences and geometric transforms on individual views and layout cells. The framework is built around a standardized animation protocol, allowing developers to create and integrate custom movement and transition behaviors. This extensibility enables the creation of reusable animation libraries beyond the pre-defined effects. The system supports combining multiple visual transforms into single compo
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
ComposeCookBook is a Jetpack Compose UI component library and layout reference. It serves as a collection of declarative interface elements, reusable widgets, and structural mockups for organizing content within the Jetpack Compose framework. The project functions as an Android UI design gallery and animation showcase. It provides a library of visual transitions and interactive state changes, alongside full-page layout examples and demo screens that demonstrate visual patterns for Android applications. The repository covers broader capabilities including Android layout prototyping, UI testin
Easings.net is a web animation timing tool used for designing, comparing, and exporting cubic-bezier coordinates and timing values. It provides a visual interface for creating easing functions to ensure consistent motion across browsers. The project functions as both an animation motion visualizer and a code generator. It allows for the identification of natural motion profiles through an interactive interface and exports the resulting easing functions as CSS or TypeScript code. The tool covers motion design prototyping and frontend UI animation, focusing on the acceleration and deceleration
AwesomeMenu is a reusable iOS user interface component that provides an animated radial menu system. It serves as a navigation tool for mobile applications, utilizing motion and rotation to present a set of available actions to the user. The component focuses on circular navigation menus that expand and collapse using CoreAnimation for fly-out transitions. It implements a radial layout where menu items are positioned using polar coordinates and selected via angle-based input mapping. The system handles custom UI animations and iOS app navigation by organizing menu elements as independent ani
fullPage.js is a JavaScript full-screen scrolling library and layout engine used to create websites composed of vertical sections and horizontal slides that snap to the viewport. It provides a system for organizing web content into full-screen pages with automatic snapping behavior. The library distinguishes itself through a WebGL transition framework and visual storytelling tools, enabling cinematic effects such as 3D rotations, parallax backgrounds, fading, and water distortion during navigation. It also features a responsive adaptation system that can switch from automatic snapping to stan
vue-bits is a Vue component library and animated UI kit providing a collection of pre-built interface elements and text effects. It functions as a source-code distribution system for adding motion and interactivity to web pages. The project includes a command line installer that enables the targeted extraction of specific component source code directly into a local project directory. This CLI-driven approach allows for the integration of UI elements without relying on traditional package installation. The library covers animated UI development and frontend component management, using prop-dr
Magic UI is a copy-paste UI framework and React animated library providing a collection of interactive, visually dynamic interface components. It serves as a design engineering toolkit that bridges high-fidelity design and production code by offering ready-made components for direct integration into web applications. The library focuses on animated UI development and the implementation of interactive components, utilizing a copy-paste distribution model. This approach allows for rapid prototyping and full local customization without the need to install heavy dependencies. The components are
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