Skip to main content
A calendar for React Native (and react-native-web) built on Reanimated 4, Gesture Handler, and Legend List. It renders month, week, day, 3-day, and schedule views, virtualizes and snap-pages every view, and leans into touch: pinch-to-zoom, drag to move and resize, and drag to create. It’s an homage to react-native-big-calendar, not a fork — the API differs and the internals are new.
react-native-super-calendar week view

Quickstart

Install it and render your first calendar in a couple of minutes.

Live demo

Try the web build — drag, resize, zoom, and create events in the browser.

Dragging & creating

Move, resize, reschedule across days, and sweep out new events.

API reference

Every <Calendar> prop and exported helper.

Highlights

  • Five views — month, week, day, 3-day (or any N), and a schedule list.
  • Virtualized & paged — every view snap-pages and only mounts a few dates at a time, so far-future and far-past dates stay cheap.
  • Gesture-driven — pinch-to-zoom the time grid, long-press to drag events, drag a grip to resize, and drag empty space to create.
  • Drag across days, with optional validation to reject a drop.
  • Recurring events, time-zone display, and a dark theme preset.
  • Bring-your-own event type (CalendarEvent<T>) and a renderEvent escape hatch that works across every mode and event shape.
  • Runs on the web via react-native-web, with the touch gestures remapped to mouse and keyboard.

At a glance

Capabilityreact-native-super-calendarreact-native-big-calendar
Month / week / day / 3-day / custom / agenda
Generic event typing (CalendarEvent<T>)
Virtualized, snap-paged views❌ renders all dates
Pinch-to-zoom (native) / Ctrl-scroll (web)
Drag to move, resize & create❌ (declined upstream)
Overlapping events✅ side-by-side columns⚠️ stacked / indented
Recurring eventsexpandRecurringEvents❌ expand them yourself
Time-zone displayeventsInTimeZone
Dark modedarkTheme preset❌ bring your own palette
Web✅ arrow-key paging, Ctrl-scroll zoom⚠️ partial
Runtime dependenciesReanimated + Gesture Handler + Legend Listdayjs + calendarize (lighter)
Legend: ✅ supported · ⚠️ partial or with known issues · ❌ not available.