Moltenship Time

Comparison

How Time compares with FullCalendar and react-big-calendar, as of October 2026.

This page compares Time with two React calendars that many teams already use: FullCalendar 7.1, through @fullcalendar/react and its premium plugins, and react-big-calendar 1.20. It's accurate as of October 2026. Claims about Time come from these docs and the code on main. Claims about the other two link their sources in the notes at the end of the page; a ✗ without a note means we found no such feature in their docs or code. If something here is wrong or out of date, open an issue.

Time is new, and on npm as a release candidate

Time started in August 2026 and has one maintainer. Its packages are on npm as a release candidate for 1.0.0, its first release, and its API can still change before 1.0.0 if the release candidate turns up problems. FullCalendar has been developed since 2009 and react-big-calendar since 2015. Both are downloaded more than a million times a week and run in production in many apps. Read the rows below with that in mind.

✓ means built in. Partial means it's there, with the limit the note gives. ✗ means it isn't built in: you'd write it yourself or add another library.

License and pricing

TimeFullCalendarreact-big-calendar
License✓ MIT. @moltenship/ics adds Unicode-3.0 for its CLDR dataPartial. The standard views are MIT. The premium plugins have a commercial license1✓ MIT2
Resource and timeline viewsFree, MITPremium. $480 for one developer, less per seat for more, down to $240 a seat for ten. A one-time payment for perpetual use, with a year of upgrades and email support. Free for registered non-profits (CC BY-NC-ND) and for projects that are open source under the AGPLv31Resource columns are free. No timeline3

Views

TimeFullCalendarreact-big-calendar
Month✓ Month✓ dayGridMonth4✓ month5
Week and day✓ Week and day✓ timeGridWeek, timeGridDay4✓ week, work_week, day5
Agenda or list✓ Agenda, also as a scrolling list✓ list views, from a day to a year4✓ agenda5
Year✓ Year. Read-only: a day's events open in a popover✓ multiMonthYear4✗ Not built in6
3-day and other spans✓ createThreeDayView. Other spans as a custom view✓ Any day count, set with duration7✓ As a custom view. The docs' example is a 3-day view8
Scrolling without end✓ Week, 3-day, day, month and agenda, as Apple's Calendar does on iPad✗ An open request since 20159✗ Not among its views5
Resource columns✓ Resource columns, with groups that collapse✓ Premium: resourceTimeGrid and resourceDayGrid10Partial. In the day and week time grids only, not month or agenda3
Resource timeline✓ Resource timeline for a day, a week or a month✓ Premium, also as a timeline without resources10✗ Not built in11
Custom views✓ A strategy and a RendererPartial. New spans for the built-in types, or a view from scratch as a function or a React component. Its props aren't documented, and dragging is left to you7✓ A component with range, navigate and title8

Interaction

TimeFullCalendarreact-big-calendar
Drag to move✓ In the month, time grid and resource views (Interactions)✓ With the interaction plugin12✓ With the withDragAndDrop addon13
ResizePartial. Timed events in the time grids and resource columns, and bars in the timeline. All-day events, the month's included, from the keyboard only✓12✓13
Create✓ Drag across empty time or days, or press Space on a slot or a day. A click doesn't create✓ Select a range, or handle a date click12✓ Select slots with a click or a drag13
Touch✓ Press and hold for 450 ms to drag✓ Press and hold, 1 second by default, configurable12Partial. Press and hold to select slots, 250 ms by default. Dragging an event by touch takes a tap first, and has reported bugs14
Keyboard move and resize✓ Space picks an event up and Shift+Space its edge, the arrow keys move or resize it, Enter saves it (keyboard)✗ An open request since 201515✗ The addon handles no keys16
Drops from outsidePartial. With dnd-kit, the dnd-kit adapter turns your items dragged in into events and sends events dragged out to your drop zones. Other libraries call startCalendarDrop and monitorCalendarDrags through a binding you write. No HTML drag and drop✓ Draggable, or any drag library through ThirdPartyDraggable17✓ onDropFromOutside, with HTML drag and drop18
Undo and redo✓ An opt-in history with keyboard shortcuts and an undo toast✗ Each change has a revert(), but there's no history19✗

Accessibility

TimeFullCalendarreact-big-calendar
Keyboard navigation✓ Each view is one tab stop. Arrow, Home, End and Page keys move between days, slots and events (Accessibility)Partial. Tab reaches every interactive element. Events are focusable when they have a URL or an eventClick handler, or with eventInteractive. No arrow keys20Partial. Time grid events are focusable; month events aren't. No arrow-key navigation21
Screen reader announcements✓ A live region announces moves, resizes and creates, from the keyboard and the pointer. Events are named in fullPartial. ARIA attributes, and labels you can change. No announcements of changes found20✗ No live region. Open issues about the month view's roles and "+N more"21
Automated checks✓ axe-core over every built-in view but the 3-day ones, in Chromium on every PR and in Firefox and WebKit before each release. Serious and critical issues fail. Contrast and target-size tests too. No WCAG conformance claim or third-party auditPartial. The 7.0 notes say every view passes axe. We found no automated accessibility run in its public CI20✗ No axe tests21
Right-to-left✓ Month, week, day and agenda mirror, and so do the arrow keys (right-to-left)✓ direction: "rtl"22✓ rtl23

Time

TimeFullCalendarreact-big-calendar
Date valuesNative Temporal: Instant, PlainDate and PlainDateTime. No Date (Time)Date in its API. Temporal inside, through the functions of temporal-polyfill, a peer dependency you install24Date, with a localizer for moment, Luxon, Globalize, date-fns or Day.js25
Temporal requiredA global Temporal. In browsers without it, load a polyfill (Installation), which adds 20.5 kB gzippedNo global Temporal, but the temporal-polyfill package as a peer dependency24No25
Named time zones✓ Any IANA zone, changeable at runtime✓ Without a plugin since 7.0. The Dates it hands you are in local time or UTC, so its docs convert them with Temporal24Partial. Through the localizer's default zone with moment-timezone, Luxon or Day.js. Not with date-fns25
Daylight saving✓ 23- and 25-hour days, and skipped and repeated hours (DST)No docs page. 7.1.0 fixed timeline slots across a change26Partial. The localizers adjust time slots for DST, but a bug remains open27
Secondary time zone✓ Extra hour columns, which account for either zone's clock changes✗ An open request since 201728✗ A request closed by a bot29
LocalizationPartial. Dates and times follow any locale through Intl. The views' own words are English in source you edit, and announcements take messages you pass✓ 79 locales for its words, screen reader labels, date formats and the first day of the week30✓ culture from the localizer, and messages for its words31

Data

TimeFullCalendarreact-big-calendar
Recurring events✓ @moltenship/calendar-recurrence: RRULE, EXDATE and RDATE, overrides, and cancelled occurrences (Recurring events)✓ Simple daily or weekly recurrence built in. RRULE with exdate and exrule through the rrule plugin32✗ Declined by its creator in 201733
Edit this, following or all✓ A scope dialog, and resolveRecurrenceEdit works out what to save (guide)✗ Not in the docs. groupId moves occurrences together32✗
ICS import✓ @moltenship/ics parses RFC 5545 into Temporal values, with Windows zone names and line-numbered issues (ICS)✓ The icalendar plugin loads a feed URL when the calendar loads, and again on refetchEvents34✗
ICS exportPartial. stringifyIcsComponents writes a syntax tree you build. No writer from typed events yet✗ Not in the docs34✗
Working hours✓ For the calendar and per resource, each in its own time zone, with closed days and holidays (Availability)✓ businessHours. Per resource in premium35Partial. No working hours setting. Shade time with backgroundEvents or slotPropGetter, per resource, and limit the hours shown with min and max36
Busy status✓ Busy and unavailable kept apart, with busyAt, resourceStatusAt and a busy badge✗✗
Conflict rules✓ Policies block, warn about or allow double-booking per resource, and keep changes inside working hours. Previews show the verdict while you drag✓ eventOverlap, eventConstraint, eventAllow and their select twins35✗ no-overlap only changes the layout36
Pending changes, optimistic updates✓ An async onEventChange keeps the change on screen as pending and rolls it back if saving fails. Of racing changes, the newest shows; the docs show how to apply saves in order (pending changes)Partial. Callbacks get revert() to undo a failed save. No pending state19✗ You update your state in onEventDrop37

Architecture and integration

TimeFullCalendarreact-big-calendar
Headless core✓ The event engine and Temporal helpers use no React or DOM. The React parts render plain elements (How it works)Partial. @full-ui/headless-calendar, MIT, is its internal core; its readme calls it a beta38✗
FrameworksReact only✓ React, Vue 3, Angular, Preact, plain JavaScript and a web component39React only40
React versions1917 to 193916.14 to 1940
Server rendering, Next.js✓ Renders the same markup on the server and in the browser. Calendars are Client Components. A full App Router example with Server Actions✓ The React package is written in React since 7.0, with server rendering and StrictMode. A Next.js example project41Partial. Its docs don't cover server rendering or Next.js. App Router users put it in a Client Component42
Own the code✓ Every view's components, the toolbar and the theme are source files you add with the shadcn CLI (UI source). Date math, layout, and the drag and keyboard logic stay in @moltenship/calendarPartial. A shadcn registry adds a wrapper, a toolbar and Tailwind classes for each part. The views' markup and behaviour stay in @fullcalendar/react43✗
Theming✓ CSS tokens for light and dark, an event palette, and a theme builder✓ Five themes with dark mode, CSS variables, class names for Tailwind, and MUI and Bootstrap 5 themes44Partial. One stylesheet, with Sass variables to override45
TypeScript✓ Written in strict TypeScript. Your event and ID types carry through✓ Written in TypeScript, types included39Partial. Written in JavaScript. @types/react-big-calendar is at 1.1646

Performance and size

TimeFullCalendarreact-big-calendar
Virtualization and large data✓ Resource columns, the resource timeline, the agenda and the scrolling views render only what's in view. Month and time grids render the visible range. Events sit in an interval index, so each view reads only its range (Performance)Partial. Opt-in and premium, for the resource timeline only. Other views are planned47✗ No virtualization. Reports about large data were closed by a bot, and a fix isn't merged48
Bundle size, gzipped143 kB. 67 kB if your app already ships Base UI's select, popover and tooltip, cn and lucide-react84 kB. 118 kB with the premium resource views99 kB with Luxon and a time zone. 85 kB with date-fns, without time zones

How the sizes were measured

Each library rendered the same calendar from one entry file: month, week, day and agenda (or list) views, the library's toolbar, and dragging, resizing and creating turned on, in the Europe/Berlin time zone. For Time, that's the Quick start's calendar with onEventChange and the Announcer added, built from the registry source that shadcn add copies, at commit ed3f9a1b. FullCalendar used its classic theme. react-big-calendar used its Luxon localizer, since its date-fns localizer can't take a time zone, and its drag-and-drop addon, imported from react-big-calendar/lib/addons/dragAndDrop as its docs show; that path is CommonJS and brings a second copy of some modules. Each entry was bundled with esbuild 0.28.2 (--bundle --minify --format=esm --target=es2022), with React and React DOM left out and CSS not counted, then compressed with gzip -9. A kB is 1,000 bytes.

BundleMinifiedMinified and gzipped
Time: week, day, month and agenda, with the toolbar and the shadcn components they use430 kB142.6 kB
The same, without the shadcn stack: Base UI, Floating UI, cn, lucide-react and helpers218 kB67.3 kB
Time with resource columns and the resource timeline added481 kB157.6 kB
The same, without the shadcn stack: Base UI, Floating UI, cn, lucide-react and helpers269 kB82.1 kB
temporal-polyfill/global 1.0.6, for browsers without Temporal59 kB20.5 kB
FullCalendar 7.1.2: month, week, day and list, with interaction301 kB84.3 kB
FullCalendar 7.1.2 with premium resource timeline and resource time grid429 kB118.0 kB
react-big-calendar 1.20.0 with drag and drop and Luxon 3.7323 kB98.6 kB
react-big-calendar 1.20.0 with drag and drop and date-fns 4.4, without time zones288 kB84.9 kB

Time's views are the largest of the three. About half of their minified size is the shadcn components they're built on: Base UI's select, popover and tooltip, with Floating UI. An app that already uses those through shadcn/ui ships that code already, which is what the "without" rows show. FullCalendar's numbers include the parts of temporal-polyfill it imports. Time's don't include a polyfill, which only browsers without Temporal need.

Maturity

TimeFullCalendarreact-big-calendar
SinceAugust 2026200949201550
Latest release1.0.0-rc.1, a release candidate, October 20267.1.2, October 12, 2026491.20.0, June 1, 202650
Releases in the last 12 months1, a release candidate849250
Weekly npm downloadsNone yet, first published in October 20261.8 million for @fullcalendar/react511.17 million52
GitHub1 contributor20.7k stars, about 130 contributors498.8k stars, about 240 contributors50
SupportGitHub issuesCommunity support, and email support with a premium license1GitHub issues50

FullCalendar and react-big-calendar have years of bug reports behind them, answers on Stack Overflow, example projects and people who know them. Time has none of that yet.

When to choose which

FullCalendar if you need a calendar you can rely on in production today, if your app uses Vue, Angular or no framework, if you need many locales out of the box, or if you want a vendor with paid support. Its premium views cost money, but less than building a scheduler. Its React package has been written in React since 7.0, renders on the server, handles named time zones through Temporal and has shadcn themes, so none of those set Time apart.

react-big-calendar if you want a free MIT calendar with month, week, day and agenda views and drag and drop, and you don't need a year view, a timeline, keyboard editing, recurring events or time zones beyond a localizer's default. It had two releases in the last twelve months, so expect fixes to come slowly.

Time if you're on React 19 and can start on a release candidate, and you want Temporal from end to end, view components you own as source, editing by keyboard with screen reader announcements, edits to recurring series, availability and conflict rules, or resource views under the MIT license. Don't choose it yet if you need a stable release with a track record, or a framework other than React.

Footnotes

  1. FullCalendar's pricing, purchase and license pages, its premium docs, and the plugin index, which marks the premium plugins. ↩ ↩2 ↩3

  2. react-big-calendar's LICENSE. ↩

  3. Only the time grid reads resources: src/TimeGrid.js. See the resource scheduling example. ↩ ↩2

  4. FullCalendar's month, time grid, list and multi-month views. ↩ ↩2 ↩3 ↩4

  5. react-big-calendar's src/Views.js. ↩ ↩2 ↩3 ↩4

  6. #2375, "Need a year view", closed by a bot in May 2026. ↩

  7. FullCalendar's custom view with settings and custom view with JS. ↩ ↩2

  8. react-big-calendar's Creating custom views and its 3-day example. ↩ ↩2

  9. fullcalendar#2276, "Continuous scrolling of months". ↩

  10. FullCalendar's vertical resource view and timeline view, both premium. ↩ ↩2

  11. #1844, "Resource Timeline component", closed by a bot in May 2026. ↩

  12. FullCalendar's dragging and resizing, selectable, touch and eventLongPressDelay. ↩ ↩2 ↩3 ↩4

  13. react-big-calendar's withDragAndDrop, selectable and onSelectSlot. ↩ ↩2 ↩3

  14. react-big-calendar's longPressThreshold, the addon's EventWrapper.js, and #2413, "Drag and drop on touch". ↩

  15. fullcalendar#2535, "Event drag-n-drop / resize with keyboard", open since 2015. ↩

  16. The addon's withDragAndDrop.js has no key handling, and src/Selection.js uses Escape only to cancel. ↩

  17. FullCalendar's external dragging and third-party dragging. ↩

  18. react-big-calendar's drag from outside example. ↩

  19. FullCalendar's eventDrop, whose revert() is "useful if an ajax call should fail". ↩ ↩2

  20. FullCalendar's accessibility, eventInteractive and hints docs, fullcalendar#6527, "ARIA grid, roving tabindex", the upgrade notes for 7.0, and its CI workflows. ↩ ↩2 ↩3

  21. react-big-calendar's TimeGridEvent.js gives time grid events a tabIndex, and EventCell.js doesn't. Open issues #2538 and #2045. Its package.json has no axe. ↩ ↩2 ↩3

  22. FullCalendar's direction. ↩

  23. react-big-calendar's rtl prop. ↩

  24. FullCalendar's date library, temporal-polyfill and timeZone docs. ↩ ↩2 ↩3

  25. react-big-calendar's dates guide, its localizers, its time zones guide, and the date-fns localizer. ↩ ↩2 ↩3

  26. FullCalendar's 7.1.0 release notes: "Timeline view, account for DST in timeslots". ↩

  27. react-big-calendar's localizer.js and TimeGutter.js, and #2534, a date missing from the month view in March 2024. ↩

  28. fullcalendar#3964, "multiple timeGrid/timeline axis, each with different time zone". ↩

  29. #2306, "Support for Displaying Multiple Timezones", closed by a bot in May 2026. ↩

  30. FullCalendar's locale. @fullcalendar/react 7.1.2 ships 79 locale files. ↩

  31. react-big-calendar's culture and messages props. ↩

  32. FullCalendar's recurring events and RRule plugin. ↩ ↩2

  33. #355: "I don't want to provide such functionality in the library". ↩

  34. FullCalendar's iCalendar plugin. ↩ ↩2

  35. FullCalendar's businessHours, business hours per resource, eventConstraint, eventOverlap and selectAllow. ↩ ↩2

  36. react-big-calendar's backgroundEvents, slotPropGetter, min and max, its time grid, and dayLayoutAlgorithm. ↩ ↩2

  37. react-big-calendar's drag and drop example. ↩

  38. @full-ui/headless-calendar on npm. ↩

  39. FullCalendar's React, Vue, Angular and web component docs, and the upgrade notes for 7.0. ↩ ↩2 ↩3

  40. react-big-calendar's package.json. ↩ ↩2

  41. FullCalendar's React docs: "server-side rendering and StrictMode work". ↩

  42. #2436 and #2631. ↩

  43. FullCalendar's shadcn/ui docs and its registry item monarch-event-calendar. ↩

  44. FullCalendar's stock themes and custom themes. ↩

  45. react-big-calendar's readme. ↩

  46. @types/react-big-calendar on npm. ↩

  47. FullCalendar's virtual rendering and virtualization. ↩

  48. #2752 and #2068, closed by a bot in May 2026, and the open fix #2753. ↩

  49. FullCalendar's GitHub repository, contributors and releases. ↩ ↩2 ↩3 ↩4

  50. react-big-calendar's GitHub repository, contributors, releases and npm versions. ↩ ↩2 ↩3 ↩4 ↩5

  51. npm's download counts for October 6 to 12, 2026. ↩

  52. npm's download counts for October 6 to 12, 2026. ↩

Edit on GitHub

Last updated on

On this page