2.0Redesigned, accessible, ready for phones

The best React calendar, with everything built in.

CalendarKit Pro is the complete React calendar. Five views, events created from a sentence, drag and drop, recurring events, time zones and a real phone layout. Free and MIT licensed.

Get started, it's free

Try it: click a free slot and type "Lunch with Lea tomorrow 1pm for 2h"

CalendarKit Pro calendar
Create in place

From a click to an event.
In one sentence.

No modal, no form. Type what you mean.

(No title)11:00 AM – 12:00 PM
Add title
Today, 11:00 AM – 12:00 PMGMT+2 · Does not repeat
Add guests
Add location
More optionsSave
Undo toast after deleting an event

Beside, never on top

Overlaps announced

Nothing lost on close

Or bring your own form

Layouts and themes

Three layouts. Three themes.
Light and dark.

Your brand

Every colour is a CSS variable.

Light and dark

Or follow the system.

Get started

Install. Import. Ship.
No CSS to set up.

MyCalendar.tsx
import { Scheduler } from 'calendarkit-pro';

export function MyCalendar() {
  return (
    <div style={{ height: 720 }}>
      <Scheduler defaultEvents={events} onEventsChange={save} />
    </div>
  );
}

// The calendar fills its parent and keeps its events.
// onEventsChange gets the full list after every change.

One component

Its own styles, scoped. Nothing leaks into your page.

Read the guide →

Install

React 18 or 19. That's the only requirement.

Four entry points

Use the calendar, or build your own on its engine.

  • calendarkit-proThe calendar
  • /coreEngine, no React
  • /reactHooks and helpers
  • /styles.cssThe stylesheet
FAQ

Questions, answered.
In one sentence each.

Is CalendarKit Pro free?

Yes. It is MIT licensed: free to use in personal and commercial projects. Read more

Does it work with Next.js?

Yes. The package is marked "use client", renders on the server with React 18 and 19, and hydrates without a warning. Read more

Do I need Tailwind?

No. The calendar ships its own compiled, scoped stylesheet: nothing to configure, nothing leaks into your page. Read more

Does it support time zones and recurring events?

Yes. Any IANA time zone for display, and daily to yearly recurrence kept at the same wall-clock time across daylight saving. Read more

Does it work on phones?

Yes. Under 768 px of calendar width it switches to a phone layout with a drawer, bottom sheets and 44 px targets. Read more

Is it accessible?

Yes. Every event and slot is a named button, dialogs take the focus, keep Tab inside them and give it back, and it all works with Tab, Enter, Space and Escape. Read more

Can I use my own event form?

Yes. Pass renderEventForm and your form opens instead of the built-in one, in every layout. Read more

Your calendar,
shipped today.

Free and MIT licensed.

Get started, it's free