Calendars & Scheduling UIs
Calendar views, schedulers, and "pick-a-time" UIs.
Calendar / scheduler components
- ★ Schedule-X — modern, modular, framework-agnostic (React, Vue, Svelte, Solid, Preact, Angular). Date picker + scheduler views (day, week, month, agenda). The default for new projects.
- FullCalendar — venerable, big feature set; commercial license required for some advanced features (resource timeline) but the core is MIT.
- react-big-calendar — long-standing React calendar; date-fns / Moment / dayjs adapters.
- Toast UI Calendar — open source; rich features, less active than the above.
- Calendar by Bryntum — commercial; gorgeous; Gantt + Scheduler.
Date pickers (single-day or range)
- ★ react-day-picker — used by shadcn/ui's Calendar.
- react-aria DatePicker / DateField — Adobe; best a11y story.
- MUI X Date Pickers — if you're on MUI.
- vue-cal, v-calendar — Vue equivalents.
Time pickers / scheduling logic
@internationalized/date— locale-aware date types (used by react-aria).- Temporal API polyfill — see Dates & Time.
rrule.js— recurrence rules for "every other Tuesday" etc.
Scheduling-as-a-service (Calendly alternatives)
- ★ Cal.com — open-source Calendly competitor; embeddable, self-hostable, generous free tier.
- SavvyCal — paid; great UX; embed available.
- Calendly — paid, the incumbent.
- Microsoft Bookings, Google Calendar Appointments — bundled with workspace.
Calendar protocol / sync
- ical.js / node-ical — parse/generate iCalendar.
- ical-generator — generate ICS files for download.
- Davical, Radicale — self-hostable CalDAV servers.
- Nylas, Cronofy — hosted multi-provider calendar APIs (Google + Outlook + iCloud) with free trials.
Pick this if…
- Default new calendar UI: Schedule-X.
- Need long-tail features (resources, Gantt): FullCalendar Premium or Bryntum.
- Date picker only: react-day-picker (with shadcn) or react-aria DatePicker.
- Need a Calendly clone: embed Cal.com or self-host it.
- Sync to multiple calendar providers: Nylas or Cronofy.