React Native Calendars
A declarative cross-platform React Native calendar component for iOS and Android. This powerful library provides highly customizable calendar components with support for marking dates, themes, localization, and multiple calendar types.Key features
Pure JavaScript
No native code linking required. Works seamlessly with Expo and bare React Native projects.
Highly customizable
Customize colors, fonts, and layouts with a comprehensive theming system.
Multiple calendar types
Choose from Calendar, CalendarList, Agenda, and ExpandableCalendar components.
Date marking
Support for dot, multi-dot, period, multi-period, and custom marking styles.
Swipe gestures
Built-in swipe support for navigating between months with smooth animations.
Accessibility
Full accessibility support for screen readers and assistive technologies.
Localization
Automatic date formatting for different locales with configurable month and day names.
Date constraints
Set minimum and maximum dates, disable specific days of the week, or block certain dates.
Available components
Calendar
The basic calendar component with month view, date selection, and marking support.CalendarList
A scrollable list of calendars that allows users to scroll through months vertically or horizontally.Agenda
A calendar combined with a scrollable list of events and appointments.ExpandableCalendar
An expandable calendar with week view that can be collapsed and expanded.Get started
Installation
Install the package and set up your project
Quick start
Build your first calendar in minutes
Platform compatibility
React Native Calendars is compatible with both iOS and Android. It also works seamlessly with Expo projects without ejecting.