An open-source, ad-free, minimalist class timetable app for Chinese university students, with timetable import from academic affairs systems.
kizitonwose/Calendar
A highly customizable calendar view and compose library for Android and Compose Multiplatform, with week, month, year and heatmap modes.
- Stars
- 5,627
- Forks
- 587
- Open issues
- 10
- Last commit
- 3 months ago
What is it?
Calendar is a Kotlin library that provides the date logic for calendar UIs while leaving the visual design to the developer. It offers both a View-based artifact built on RecyclerView and a Compose artifact built on LazyRow and LazyColumn, so it fits either the classic Android view system or modern Compose screens.
The library supports week, month and year layouts, horizontal or vertical scrolling, and single, multiple or range date selection. Developers can disable specific dates, set boundary dates, choose any day as the first day of the week, and add headers or footers to years, months and weeks. Day cells and the calendar itself can be fully custom composables or views.
A Compose Multiplatform artifact uses kotlinx-datetime and targets Android, iOS, JS, WasmJs and Desktop. The library also includes a heatmap calendar mode for showing data over time, similar to GitHub's contribution chart.
Key features
- 01Week, month and year calendar modes with horizontal or vertical scrolling.
- 02Single, multiple and range date selection.
- 03Disable dates and set boundary dates to limit the range.
- 04Custom day cells and calendar layouts as views or composables.
- 05Headers and footers for years, months and weeks.
- 06HeatMap calendar mode for showing data over time.
Use cases
- Adding a date picker or booking calendar to an Android app.
- Building a Compose Multiplatform app that runs on Android, iOS, web and desktop.
- Visualizing activity or contribution data as a heatmap.
In collections
Topics
FAQ
- What is Calendar?
- A highly customizable calendar view and compose library for Android and Compose Multiplatform, with week, month, year and heatmap modes. Calendar is a Kotlin library that provides the date logic for calendar UIs while leaving the visual design to the developer. It offers both a View-based artifact built on RecyclerView and a Compose artifact built on LazyRow and LazyColumn, so it fits either the classic Android view system or modern Compose screens.
- Is Calendar free to use? What license does it have?
- Calendar is open source under the MIT license. Check the license terms before using it in commercial products.
- Is Calendar still maintained?
- Updated within 6 months. The last commit to Calendar was on Aug 13, 2026.
- What can I use Calendar for?
- Adding a date picker or booking calendar to an Android app. Building a Compose Multiplatform app that runs on Android, iOS, web and desktop. Visualizing activity or contribution data as a heatmap.
- Where can I get Calendar?
- The source code and installation instructions are on GitHub: https://github.com/kizitonwose/Calendar
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Gradle plugin and Compose UI library that collects a project's dependency licenses at build time and shows them in Android and multiplatform apps.
Kotlin/Compose Multiplatform sample showing Climate TRACE country emissions data on iOS, Android, desktop and web.
A declarative Kotlin UI framework based on Jetpack Compose for sharing UI code across iOS, Android, desktop and web.
A Swift calendar UI library for iOS and Mac Catalyst that looks like Apple's Calendar app and can be customized.
Official Bitwarden mobile app for Android, providing the Password Manager and Authenticator apps.