Lightweight canvas-rendered timelines with smooth interactions, touch support, and no dependencies.
Canvas rendering with virtual scrolling means only visible items are drawn. Load thousands of items and pan through them smoothly.
Smoothly navigate to any item, date, or range with configurable easing and duration. Click the buttons to see it in action.
Use the built-in native Date adapter, or bring your own. Luxon, Day.js, date-fns — whatever your stack uses. Full control over formatting and timezone handling.
The timeline redraws seamlessly as its container resizes. Resize a sidebar, collapse a panel, go fullscreen — it just works.
Stream events in real time and the timeline keeps up. New data appears instantly with smooth animated transitions — no flicker, no jank.
Define source/target item relationships and the timeline renders connector arrows automatically.
One call and you've got a PNG, JPEG, or WebP. Control DPR for crisp retina output.
Use the core library directly or drop in a first-party wrapper for your framework.
Vanilla JS / TypeScript. Zero dependencies.
AvailableReactive props, imperative ref, automatic cleanup.
Availablev-model selection, reactive items, exposed ref methods.
AvailableBind directly to timeline state and methods.
Coming SoonInput/output bindings, OnPush compatible.
Coming SoonPinch-to-zoom, smooth panning, and responsive layouts on every device.
Color-coded categories with an interactive legend. Filter on click, highlight on hover.
A compact overview bar for navigating large timelines. Click or drag to jump anywhere instantly.
Full right-to-left layout for Arabic, Hebrew, and other RTL languages.
Rich tooltip templates with delay, overflow handling, and per-item control.
Highlight time periods with vertical bands, maintenance windows, shifts, deadlines.
Keyboard navigation, ARIA attributes, and automatic reduced motion support.
Full type definitions, IntelliSense, and typed callbacks out of the box.
Compact and stable stack modes for overlapping items. No clipping, no manual row management.
Core canvas library — works with any framework
Or grab the CDN script tag and drop it straight into your HTML.