New in version 2026.08.17
• Month widget: day cells now show event titles, switching between dots and titles on their own as you resize the widget (#336)
• Month widget: tap the +n marker to open that day; Month view gains pull-to-refresh
• Fixed: calendar invitations not emailed for events on servers like Nextcloud (#340)
• Fixed: current-time line drifting on pinch-zoom (#339) and the quick-view sheet showing stale details after an edit (#338)
Your calendars are everywhere. Family on iCloud. Holidays from some website. Birthdays buried in your contacts. Work on the phone calendar. KashCal pulls them into one app on Android.
Learn more at https://kashcal.onekash.org
• iCloud: switched to Android but your family is still on Apple? Sync iCloud calendars directly. No bridge, no workaround.
• CalDAV: Nextcloud, Fastmail, Radicale, Baikal, Zoho, Mailbox, Stalwart, SOGo, and more. Native two-way sync, no middleware. Your phone's Google and Outlook calendars show up too.
• Seven views: month, full-height month, agenda, day, 3-day, week, and year. Pinch to zoom the timeline, drag an event to reschedule it.
• Quick Add: type "Coffee with Kash tomorrow 3pm" and the event is made. Understands dates, times, recurrence, and locations.
• Scheduling: invite people, send meeting invitations, and RSVP to invites others send you.
• Insights: see where your time goes. Busiest days, back-to-back streaks, free blocks. Computed on-device.
• Widgets: keep your day on the home screen without opening the app. Agenda, date, week, month, and upcoming.
• ICS subscriptions: follow any calendar feed. Public holidays, school terms, sports seasons.
• Birthdays & anniversaries: pulled from your contacts automatically.
• Per-event colors: from a curated palette or a full color wheel, so your week reads at a glance.
• Make it yours: light, dark, or system theme, plus a KashCal Teal palette. Supporters can switch to a special app icon.
• Accessibility: full screen-reader (TalkBack) support, and set the app's language right from Android settings, in 67 languages.
• Works fully offline out of the box.
Private by default
No analytics. No telemetry. No KashCal account. We have no servers, so there is nothing to collect.
• Credentials encrypted with the Android Keystore
• App lock: hide your events behind your fingerprint, face, or screen lock
Free as in speech. Also free as in beer.
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Permissions
-
android.permission.ACCESS_LOCAL_NETWORK
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
Read calendar events and details
This app can read all calendar events stored on your phone and share or save your calendar data.
-
read your contacts
Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
-
read sync settings
Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
Schedule alarms or event reminders
This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
add or modify calendar events and send email to guests without owners' knowledge
This app can add, remove, or change calendar events on your phone. This app can send messages that may appear to come from calendar owners, or change events without notifying their owners.
-
modify your contacts
Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
-
toggle sync on and off
Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
-
org.onekash.kashcal.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
11 MiB
PGP Signature
|
Build Log
New in version 2026.08.14
• Contacts: fixed CardDAV contact sync on servers with a broken auto-discovery response (reverse proxy on a non-standard port, or discovery probe rejected); contacts now reuse the account's working calendar connection
• Contacts: fixed a rare case where an empty discovery could wipe already-synced contacts from the phone
• Added a Beta badge to the Contacts sync toggle in account settings
• Improved the change-password field to use a password keyboard and offer credential-manager fill and save
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Permissions
-
android.permission.ACCESS_LOCAL_NETWORK
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
Read calendar events and details
This app can read all calendar events stored on your phone and share or save your calendar data.
-
read your contacts
Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
-
read sync settings
Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
Schedule alarms or event reminders
This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
add or modify calendar events and send email to guests without owners' knowledge
This app can add, remove, or change calendar events on your phone. This app can send messages that may appear to come from calendar owners, or change events without notifying their owners.
-
modify your contacts
Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
-
toggle sync on and off
Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
-
org.onekash.kashcal.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
11 MiB
PGP Signature
|
Build Log
New in version 2026.08.09
• Sync: a deleted event now disappears from KashCal after another client removes it on the server, even when the server re-encodes the event's address (#333)
• Contacts: pull-to-refresh now syncs CardDAV contacts too, not just calendar events
• Contacts: a contact whose card fails to parse is no longer skipped for good; the next sync retries it
-
arm64-v8a
armeabi-v7a
x86
x86_64
This version requires Android 12 or newer.
It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.
Permissions
-
android.permission.ACCESS_LOCAL_NETWORK
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "dataSync"
Allows the app to make use of foreground services with the type "dataSync"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
Read calendar events and details
This app can read all calendar events stored on your phone and share or save your calendar data.
-
read your contacts
Allows the app to read data about your contacts stored on your phone. Apps will also have access to the accounts on your phone that have created contacts. This may include accounts created by apps you have installed. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.
-
read sync settings
Allows the app to read the sync settings for an account. For example, this can determine whether the People app is synced with an account.
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
Schedule alarms or event reminders
This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
control vibration
Allows the app to control the vibrator.
-
prevent phone from sleeping
Allows the app to prevent the phone from going to sleep.
-
add or modify calendar events and send email to guests without owners' knowledge
This app can add, remove, or change calendar events on your phone. This app can send messages that may appear to come from calendar owners, or change events without notifying their owners.
-
modify your contacts
Allows the app to modify the data about your contacts stored on your phone. This permission allows apps to delete contact data.
-
toggle sync on and off
Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.
-
org.onekash.kashcal.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
11 MiB
PGP Signature
|
Build Log