
Security News
curl Shuts Down Bug Bounty Program After Flood of AI Slop Reports
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.
react-chrono
Advanced tools
The Ultimate Timeline Component for React Applications
Build stunning, interactive timelines with rich media support, accessibility-first design, and comprehensive customization options
Four distinct layout modes adapt to any narrative: horizontal for traditional timelines, vertical for mobile-first feeds, alternating for visual balance, or dashboard for complete overviews. Perfect for company milestones, historical events, project roadmaps, or personal journeys.
Built entirely in TypeScript with a grouped API that organizes props into logical sections. Exceptional IDE support with intelligent autocomplete, type checking, and zero external dependencies for a lean foundation.
25+ theme properties for pixel-perfect control - from subtle brand colors to full dark mode transformations. Effortless Google Fonts integration and support for custom React components within timeline cards.
Native lazy loading for images, IntersectionObserver-managed visibility, and automatic video pause optimization ensure smooth performance with large datasets. Cross-browser compatible with comprehensive WCAG AA accessibility.
React Chrono v3.0 represents a complete evolution of the timeline component with architectural improvements and powerful new features:
layout, interaction, content, display, media, animation, style, accessibility, i18n) for intuitive configuration and better IDE autocompleteAll v2.x props remain fully supported with automatic mapping to the new grouped API, ensuring seamless upgrades without breaking changes.
Get started with React Chrono in seconds:
# Using npm
npm install react-chrono
# Using yarn
yarn add react-chrono
# Using pnpm (recommended)
pnpm add react-chrono
Requirements: React 18.2+ | TypeScript 4.0+ (optional) | Modern browsers
Get started with just two lines of code:
import { Chrono } from 'react-chrono';
const items = [
{ title: 'May 1940', cardTitle: 'Dunkirk', cardDetailedText: 'Allied evacuation from France' },
{ title: 'June 1944', cardTitle: 'D-Day', cardDetailedText: 'Normandy invasion begins' }
];
<Chrono items={items} />
Horizontal Timeline with Custom Theme
<Chrono
items={items}
mode="horizontal"
theme={{ primary: '#0070f3', cardBgColor: '#f5f5f5' }}
/>
Vertical Timeline with Media
const items = [
{
title: 'January 2024',
cardTitle: 'Product Launch',
cardDetailedText: 'Released version 3.0 with new features',
media: {
type: 'IMAGE',
source: { url: 'https://example.com/launch.jpg' },
name: 'Product launch event'
}
}
];
<Chrono items={items} mode="vertical" />
Alternating Timeline with Slideshow
<Chrono
items={items}
mode="alternating"
animation={{
slideshow: {
enabled: true,
duration: 3000,
type: 'fade'
}
}}
/>
The new grouped API organizes configuration into logical sections for better discoverability and maintainability:
<Chrono
items={items}
mode="alternating"
layout={{
cardWidth: 450,
cardHeight: 200,
responsive: { enabled: true, breakpoint: 768 }
}}
interaction={{
keyboardNavigation: true,
pointClick: true,
autoScroll: true
}}
display={{
borderless: false,
toolbar: { enabled: true, sticky: true }
}}
animation={{
slideshow: { enabled: true, duration: 4000, type: 'fade' }
}}
theme={{
primary: '#0070f3',
cardBgColor: '#ffffff',
cardTitleColor: '#1f2937'
}}
/>
Quick Start Examples by Use Case:
// Corporate Timeline
<Chrono items={milestones} mode="horizontal" theme={{ primary: '#1a73e8' }} />
// Project Roadmap
<Chrono
items={tasks}
mode="vertical"
display={{ toolbar: { enabled: true, sticky: true } }}
/>
// Photo Timeline
<Chrono
items={memories}
mode="alternating"
media={{ height: 300, fit: 'cover' }}
/>
// Documentation Timeline
<Chrono
items={releases}
mode="vertical"
content={{ allowHTML: true, readMore: true }}
/>
๐ Migration Made Easy: All existing v2.x props work alongside the new grouped API for seamless upgrades.
React Chrono offers four thoughtfully designed layout modes, each optimized for specific content types and user experiences:
The traditional timeline experience where users navigate chronologically from left to right. Perfect for historical narratives, project phases, or any sequential story where the journey matters as much as the destinations. Users can smoothly scroll through time or use navigation controls for precise movement.
A space-efficient, scroll-friendly layout that works beautifully on all devices. Content flows naturally from top to bottom, making it ideal for social media feeds, news timelines, or any scenario where users expect familiar scrolling behavior. Automatically adapts to narrow screens without sacrificing readability.
The most visually striking option, where timeline cards gracefully alternate between left and right sides of a central axis. This symmetric design creates natural visual rhythm, prevents monotony, and maximizes screen real estate utilization. Excellent for portfolios, company milestones, or any content that benefits from balanced presentation.
Displays all timeline items simultaneously in a comprehensive dashboard view. Users can see the entire timeline at once, making it perfect for project overviews, comparative analysis, or situations where the complete picture is more important than individual item focus.

React Chrono requires minimal configuration to get started:
| Property | Type | Description |
|---|---|---|
items | TimelineItem[] | Array of timeline data |
mode | string | Layout mode: 'horizontal' | 'vertical' | 'alternating' | 'horizontal-all' |
theme | Theme | Customize colors and appearance |
๐ Need complete prop documentation? See our comprehensive Props Reference
Images load intelligently using intersection observers - only when entering the viewport - ensuring fast initial loads even with dozens of high-resolution photos. Videos auto-play when timeline items become active, creating cinematic storytelling experiences. The component handles responsive sizing, buffering states, accessibility attributes, and performance optimization automatically.
Slideshow Mode: Auto-playing presentations with customizable durations, transition effects, and progress indicators - perfect for kiosks and guided storytelling.
Keyboard Navigation: Full accessibility with arrow keys for navigation, Home/End for quick jumps to first/last items, and Escape for closing modals. Smooth animations respect user motion preferences.
Real-time Search: Instantly highlights matching content across titles, descriptions, and metadata, helping users find specific events without losing context.
Adapt to any visual identity with a comprehensive theming system. Dark mode is a first-class feature with dedicated properties for shadows, glows, and interaction states. Google Fonts integration handles loading optimization and fallback strategies automatically, making typography customization effortless.
Customize every piece of user-facing text for any language or locale. The i18n system uses intelligent fallbacks - configure only what you need to change. Template strings support variable interpolation with full type safety.
<Chrono
items={items}
i18n={{
texts: {
navigation: { first: 'Premier รฉlรฉment', next: 'Suivant', previous: 'Prรฉcรฉdent' },
search: { placeholder: 'Rechercher dans la chronologie', noResults: 'Aucun rรฉsultat trouvรฉ' }
}
}}
/>
Nested Timelines: Create multi-level narratives where major events contain detailed sub-timelines - ideal for historical periods, project phases, or biographical chapters.
Custom Components: Embed fully interactive React components within timeline cards - data visualizations, interactive maps, widgets, or custom UI elements.
Fundamentally adapts to each device: precision hover states and multi-column layouts on desktop, optimized touch targets on tablets, and content-prioritized interfaces on mobile with smart font sizing and spacing.
Upgrading is seamless with full backward compatibility:
// โ
Both syntaxes work
<Chrono
cardWidth={400} // Legacy prop
disableNavOnKey={false} // Legacy prop
theme={{ primary: '#blue' }}
/>
// ๐ New grouped API (recommended)
<Chrono
layout={{ cardWidth: 400 }}
interaction={{ keyboardNavigation: true }}
theme={{ primary: '#blue' }}
/>
๐ Complete migration guide: Props Reference
Works beautifully out of the box with just items prop
Built with TypeScript for excellent IDE support and type safety
Optimized bundle size - only import what you use
From basic theming to complete visual overhauls
WCAG AA compliant with comprehensive keyboard navigation
Comprehensive i18n support for global applications with 40+ configurable text elements
Responsive design that adapts to any screen size
Try React Chrono with a live, editable example:
Explore our demo site with interactive examples showcasing all timeline modes and features. Run pnpm run dev locally to access the full demo experience with:
# Clone the repository
git clone https://github.com/prabhuignoto/react-chrono.git
cd react-chrono
# Install dependencies
pnpm install
# Start development server with hot reload
pnpm run dev
# Build for production
pnpm run build
# Run unit tests
pnpm test
# Lint and format code
pnpm run clean
React Chrono uses a comprehensive testing approach:
We welcome contributions! Please see our Contributing Guide for details.
pnpm run find-bugspnpm run clean|
Core Technologies
|
Development Tools |
Love React Chrono? Help us grow!
โญ Star on GitHub | ๐ฆ Follow on Twitter | ๐ Report Issues
Made with โค๏ธ by Prabhu Murthy and contributors
FAQs
A Modern Timeline component for React
The npm package react-chrono receives a total of 11,023 weekly downloads. As such, react-chrono popularity was classified as popular.
We found that react-chrono demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.

Product
Scan results now load faster and remain consistent over time, with stable URLs and on-demand rescans for fresh security data.

Product
Socket's new Alert Details page is designed to surface more context, with a clearer layout, reachability dependency chains, and structured review.