JavaScript Calendar, Date Picker, Event Scheduler & Timeline Components

Meet CalendarJS, a free MIT modular suite of JavaScript components that makes time-based UI painless. Drop in a date & time picker, a full scheduling calendar (Google Calendar–style), and a timeline—all framework-agnostic, fast, and beautifully responsive.

Get Started

Why CalendarJS?

One suite, many use cases

From checkout flows to team scheduling dashboards, without stitching together and maintaining three different libraries across projects and teams over time.

Headless & design-system

Use the core logic with your components, theme it with your tokens and CSS variables, and keep everything consistent across your UI.

Fast, accessible UX by default

Keyboard navigation, ARIA patterns, and responsive layouts on every device, with smooth interactions, screen-reader support, and focus states baked in.

Built for Modern Product Teams

Whether your frontend is in React, Vue, Angular, or plain JS, CalendarJS drops in as a single, consistent layer for time-based UI. Use the headless core with your own components or start from the default styles, wire everything to your backend with hooks, and keep the look aligned with your existing design system.

javascript react angular. vue

The CalendarJS Suite

Four production-ready modules for time-based UI.

Timeline

Timeline Plugin

A scrollable, framework-agnostic timeline for logs, roadmaps, and histories, with monthly grouping from JSON.

Helpers

Helpers Plugin

A lightweight utility layer for time UIs formatting, parsing, date math, shared a11y and keyboard.

availability selector

Availability Selector

An intuitive weekly grid for hours and time slots with drag-and-drop blocks, intervals, and timezone display.

Recurrence Engine

Recurrence Engine

A rules-based engine for recurring events repeats, exceptions, time zones, and calendar sync.

Calendar Picker

A versatile, embeddable calendar component for date, time, and range selection ideal for forms, modals, and filter panels.

  • Keyboard-first UX for rapid input and accessibility.
  • Range selection for bookings and scheduling windows.
  • Event-driven API to plug straight into forms and flows.
  • Highly customizable: theming, formatting, min/max, disabled dates, and more.
Use it for: checkout dates, meeting time pickers, analytics filters, travel and booking flows.

Scheduling Calendar

A familiar grid for managing events at scale perfect for apps that need a day/week/month calendar UI.

  • Day / Week / Weekdays views with smooth navigation.
  • Create, drag, and resize events.
  • Range selection and quick editing patterns people already know.
  • Hooks & events to sync with your backend in real time.
  • Theming & branding so it looks native to your product.
Use it for: team scheduling, resource booking, project timelines, content calendars, education timetables.

Timeline

Build beautiful, scrollable timelines for logs, roadmaps, and event histories.

  • Auto-group by month to keep long histories tidy
  • Custom content: colors, markers, and rich items
  • Flexible point positioning and navigation controls
  • Framework-agnostic and easy to feed with any JSON
Use it for: product roadmaps, audit trails, release notes, medical or legal histories, changelogs.

Javascript Components

Explore the powerful and versatile components designed to elevate your productivity. From data management to collaboration, our ecosystem seamlessly integrates to meet your needs.

Ready to build?

Get CalendarJS and ship time-based UI your users will love.
Read the docs to paste in your first calendar in minutes.