We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Trusted by the world’s leading companies

Syncfusion Trusted Companies


The React Scheduler, or event calendar, is a fully featured event calendar component that helps users manage their time efficiently. It facilitates easy resource scheduling and the rescheduling of events or appointments through editor pop-ups, drag and drop, and resizing actions.

Multiple scheduler views

A wide variety of built-in view modes are available: day, week, workweek, month, agenda, month-agenda, year, and timeline. Easily configure each individual view with different, view-specific options.

Day View in React Scheduler component

Day, week, and workweek views

Display events and appointments for a single day or across multiple days.

Month View in React Scheduler component

Month view

Display events and appointments on a single day or multiple days for an entire month.

Agenda view in React Scheduler component.

Agenda view

Load events virtually and display them as a list in sequential order grouped by day. You can specify the number of days to load initially in the agenda view.

Month agenda view in React Scheduler component

Month agenda view

Display the calendar layout and the events of the currently selected date. A round indicator at the bottom of a date shows the presence of one or more events on that day.

Year view in React Scheduler component.

Year view

Year view displays all the months of a particular year in a calendar view format. In that calendar view, dates containing appointments are highlighted with dots placed under the individual date. When you click on the date, the event pop-up will be displayed and the events will be listed.

Timeline views

Five built-in timeline views are available: timeline day, timeline week, timeline workweek, timeline month, and timeline year. Each view displays events accurately across a horizontal time axis for a single day or multiple days.

To provide better performance, timeline views load resources and appointments virtually on every scroll action.

Unique view configurations

Easily configure each individual view mode with different calendar settings. For example, you can enable the grouping feature in month view, and apply event templates in week view.

Extensible view intervals

Display multiple days, weeks, and months by extending each view mode based on the provided interval count.

Extensible view intervals in React Scheduler component

Responsive and touch-friendly

The React Scheduler has a highly responsive layout and a finely optimized design for desktops, touchscreens, and smart phones. It works well on all mobile phones that use iOS, Android, or Windows 8 OS.

Illustration of touch support of Scheduler React JS

Touch support

User-friendly touch gestures and an interactive UI design in schedulers help to produce the best user experience.

Illustration of adaptive UI of Scheduler React JS

Adaptive UI

The React Scheduler user interface adapts automatically on mobile and desktop devices. This helps the application to scale elegantly across all form factors without any additional effort.

Data binding

Data binds seamlessly with various local and remote data sources such as JSON, RESTful services, OData services, and WCF services. The React Scheduler loads data on demand by default to reduce the transfer and load times. Proper field mapping is mandatory while binding Scheduler to data sources with different field names.

Data binding options available in React Scheduler.

Block time interval

You can block specific time ranges to prevent the creation of appointments in those time slots.

Inline appointments

With this feature enabled, users can create and edit events and appointments inline through a single click on the Scheduler cells or on the existing appointment’s subject. Pressing Enter after the new subject text is typed in the inline text box will update and save the appointment appropriately.

Advanced event handling options

The React Scheduler provides clear, vibrant, exact representations of appointments across the Scheduler timeline, based on their assigned time duration.

Illustration of add and edit capabilities of React Scheduler

Add and edit capabilities

There is built-in support for better event handling, such as easier appointment creation and editing using the default event editor or through intuitive drag-and-resize actions. In addition, you can add custom data fields to both the events and resource data source.

Illustration of multiple event selection in React Scheduler

Multi-event selection

Easily select multiple events at once by pressing and holding the Ctrl key while clicking on events. On mobile devices, do the same by tapping and holding an event, and continue selecting by single-tapping other events. After successfully selecting events, delete or reposition them simultaneously.

Illustration of event tooltips of React Scheduler


The customizable tooltip displays event information while the mouse pointer is hovering over the event. Do the same on mobile devices by tapping and holding an event.

Illustration of recurring events of React Scheduler

Recurring events

Easily configure recurring events to repeat on a daily, weekly, monthly, or yearly basis with integrated recurrence options.

Illustration of event customization with React Scheduler

Appearance customization

Change the look and feel of Scheduler events and appointments by customizing their default appearance and style using HTML or CSS.

Illustration of time zone support of React Scheduler

Time zone

Regardless of the system time zone, the React Scheduler supports setting the required time zone for the control itself, as well as events.

Multiple resources and grouping

Built-in support is available for assigning resources to events as well as scheduling resources. Group events and appointments based on resources or dates. Grouping resources by date provides a quick overview of each resource’s availability. You can also set different working days for each resource.

Row auto height

A built-in option that automatically increases the height of the rows in month and timeline views when new concurrent events or appointments are added.

Context menu

The context menu integrated with the React Scheduler component opens when a cell or appointment is right-clicked.

Real-time data synchronization

Real-time appointment data accurately synchronizes with our React Scheduler.

Illustration of Google Calendar integration with React Scheduler

Outlook and Google Calendar integration

Easily synchronize events between our React Scheduler and a Google or Outlook Calendar via the Google Calendar API or Microsoft Outlook’s object library.

Illustration of real-time updates of React Scheduler

Real-time updates

Bidirectional data communication conveys the server-side appointment updates made on a scheduler to all the connected clients through SignalR.


The React Scheduler component allows users to export its events in two ways: as an Excel file or as an ICS file.

Illustration of Excel Export support in React Scheduler

Export to Excel

The React Scheduler component allows users to export all its events to an Excel document by default. It also provides additional customization options to export custom event data collections.

Illustration of exporting and importing ICS files in React Scheduler

Export and import ICS

The React Scheduler supports exporting all its event data to iCal format, and it supports importing events from an iCal file into the Scheduler.

Feature-rich calendar options

The React Scheduler component inherits almost all calendar-specific features, such as first day of the week and timescale.

Illustration of first day of the week in React Scheduler

First day of the week

Customize the first day of the week, which defaults to Sunday, as per the default locale. You can utilize this option for individual views, also.

Illustration of setting start and end hours in React Scheduler

Custom start and end hours

Display the event scheduler layout with specific time durations by hiding the unwanted time ranges.

Illustration of timescale options of React Scheduler

Flexible timescale

Use customizable timescale options to view a timeline of events clearly and set a different duration.

Illustration of working time of React Scheduler

Working time

The active cells of the Scheduler (displayed in white) visually represent the work days and working hours.

Illustration of current time highlighting in React Scheduler

Highlighting current time

The current date is indicated with a highlighted date header, and the current time is marked accurately on all views.

Illustration of hiding weekend days in React Scheduler

Hiding weekend days

Hide weekend days in the Scheduler to display only working days across all views.

Illustration of displaying week numbers in React Scheduler

Week number display

Display the week number of the current date range beside the date header in day, week, and workweek views. Also display the week number in the month view as the first column. The week number is determined by the first day of the week and week rules (first day or first full week, or first four day week).

Illustration of displaying time format in React Scheduler

Time mode

The React Scheduler control supports both 12-hour and 24-hour time formats.

Completely customizable UI

Customize the appearance of any part of the Scheduler interface using HTML and CSS styles.

Illustration of date header customization in React Scheduler

Date header

Change the default appearance of the header bar by adding any kind of CSS, custom text, or image.

Illustration of complete React Scheduler customization

Complete Scheduler UI

A built-in client-side event allows the end users to customize any part of the Scheduler user interface.

Illustration of common header bar in React Scheduler

Header bar

Add custom items to the default header bar options. You can hide or show common header bar options.

Illustration of cell customization with React Scheduler

Scheduler cells

Out-of-the-box template options allow you to easily customize the cells by adding any kind of text, image, or CSS.

Illustration of quick pop-ups in React Scheduler

Quick pop-ups

Easily customize pop-ups that open when single-clicking on cells, events, or appointments with your own UI or template design.

Illustration of event editor of React Scheduler

Open event editor externally

Open the default event editor window programmatically.

User-friendly interactions

The modern and trendy UI design of the React Scheduler makes the user interactions simpler and more efficient.

Pop-up displaying event information

Quick event overview

Clicking or tapping on events displays their important details, such as subject and time, along with edit and delete options.

React Scheduler cell selection

Cell selection

Click and drag the pointer over the scheduler cells for multiple-cell selection. You can do the same with keyboard shortcuts.

Event container displayed in month calendar

Event container

Clicking on the text indicator (+n more) in month and timeline views will open an event container listing all the hidden events and appointment details of a day.

Navigation options in React Scheduler

Quick navigation

The React Scheduler provides an intuitive way to navigate back and forth among the date ranges using an inline calendar, and between different view modes.

Globalization and localization

Integrate different date-time formats and cultures. This allows the React Scheduler to function globally, thus meeting the diverse needs of different regions.

React Scheduler with globalization support


The React Scheduler displays the current date and time by following the globalized date and time formats.

React Scheduler with localization support


Display the static text, date content, and time mode of the Scheduler in the local language.

React event calendar displaying from right to left

Right to left (RTL)

Render the event scheduler layout following the proper right-to-left conventions.


The React Scheduler is easily accessed by screen readers. Complete keyboard interaction support has also been provided.

Accessibility-enabled React Scheduler

Completely accessible

The React Scheduler has complete WAI-ARIA accessibility support. The Scheduler UI includes high-contrast visual elements, giving visually impaired people the best viewing experience. Also, valid UI descriptions are easily accessible through assistive technologies such as screen readers.

Keyboard interactive React event calendar

Keyboard interactive

Various keyboard shortcuts are available to perform almost all the Scheduler actions, such as multiple cell or event selection and navigating to other views.

React event calendar used in real-time applications

Real-time applications

Many real-time applications use schedulers as an integral part, thus serving different purposes based on the project type. Some of the active applications are: fare calendars, meeting room calendars, doctor’s appointment planners, hotel room reservation calendars.

Built-in and customizable themes

Four built-in, SASS-based themes are available: Material, Bootstrap, Fabric (Office 365), Tailwind CSS, and High Contrast. Simplify theme customization either by overriding the existing SASS styling or creating custom themes using the Theme Studio application.

Theme illustration for React Scheduler

Developer-friendly APIs

Developers have full control over the UI and behavior of the event scheduler through its built-in, developer-friendly APIs. The simple and extensible APIs allow you to customize even the complex Scheduler functionalities with ease.

Supported browsers

The React Scheduler works well with all modern web browsers such as Chrome, Firefox, Edge, Safari, and IE11. It requires MomentJS poly-fill to make the time zone conversions work further with the IE11 browser and iOS mobile versions.

React Scheduler Code Example

Easily get started with the React Calendar using a few simple lines of TSX code example as demonstrated below. Also explore our React Scheduler Example that shows you how to render and configure a Scheduler in React.

import * as React from 'react';
import { ScheduleComponent, ViewsDirective, ViewDirective, Day, Week, WorkWeek, Month, Agenda, Inject } from '@syncfusion/ej2-react-schedule';
import './App.css';

export default class App extends React.Component<{}, {}> {

  private data: Record<string, any>[] = [{
    Id: 1,
    Subject: 'Scrum Meeting',
    Location: 'Office',
    StartTime: new Date(2022, 0, 1, 9, 30),
    EndTime: new Date(2022, 0, 1, 10, 30),

  render() {
    return (
        <ScheduleComponent height='650px' eventSettings=>
            <ViewDirective option='Day' />
            <ViewDirective option='Week' />
            <ViewDirective option='WorkWeek' />
            <ViewDirective option='Month' />
            <ViewDirective option='Agenda' />
          <Inject services={[Day, Week, WorkWeek, Month, Agenda]} />

Other supported frameworks

The Scheduler component is also available in Blazor, Vue, Angular, and JavaScript frameworks. Check out the different Scheduler platforms from the links below,


Frequently Asked Questions

The Syncfusion React Scheduler provides the following features:

  • Highly responsive layout and a finely optimized design for desktops, tablets, and mobile phones.
  • Different basic views like day, week, workweek, month, and year of calendar mode and timeline mode.
  • Virtual scrolling allows you to load large numbers of resources and events dynamically.
  • Adapts with different time zones instantly.
  • Multiple resource grouping based on the timeline, horizontal, hierarchical, and date views.
  • One of the best React Scheduler in the market that offers feature-rich UI to interact with the software.
  • Easy synchronization of events with Google and Outlook Calendars.
  • Simple configuration and API.
  • Supports all modern browsers.
  • Expansive learning resources such as demos, documentation and videos to learn quickly and get started with React Scheduler.

We do not sell the React Scheduler separately. It is only available for purchase as part of the Syncfusion React suite, which contains over 80 React components, including the Scheduler. A single developer license for the Syncfusion Essential Studio for React suite costs $995.00 USD, including one year of support and updates. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team to see if you qualify for any additional discounts.

You can find our React Scheduler demo, which demonstrates how to render and configure the Scheduler.

No, our 80+ React components, including Scheduler, are not sold individually, only as a single package. However, we have competitively priced the product so it only costs a little bit more than what some other vendors charge for their Scheduler alone. We have also found that, in our experience, our customers usually start off using one of our products and then expand to several products quickly, so we felt it was best to offer all 80+ React components for a flat fee of $995/developer. On top of this, we might be able to offer additional discounts based on currently active promotions. Please contact our sales team to see if you qualify for any additional discounts.

No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.

A good place to start would be our comprehensive getting started documentation.

Our Customers Love Us

Having an excellent set of tools and a great support team, Syncfusion reduces customers’ development time.
Here are some of their experiences.

Rated by users across the globe

(340+ Reviews)
Read more on Capterra
(390+ Reviews)
Read more on G2
(340+ Reviews)
Read more on GetApp

Transform your applications today by downloading our free evaluation version Download Free Trial


Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion is proud to hold the following industry awards.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile