← All work
Released · Android 10+v2.22.5

Calendula

A calendar for Android in true Material 3 Expressive. Every calendar already on your phone shows up, from Nextcloud to Google, and the app has no internet permission at all.

Calendula is a calendar for Android that looks like it belongs on a 2026 phone. It’s built on Material 3 Expressive, Google’s newest version of Material design, with spring-based motion between views and colours from your wallpaper. The post on Material 3 Expressive covers which defaults I kept and which I changed.

It also stays out of your data:

  • It has no internet permission. You can check the manifest yourself in about ten seconds.
  • It has no database of its own. Calendula reads and writes the calendars already on your phone, so nothing gets trapped in the app.
  • An event only leaves your phone when you share or export it.

The name comes from the flower, and both calendula and calendar go back to the Latin kalendae, the first day of the month.

If you’re weighing it against other open-source calendars, the comparison with Etar and Fossify Calendar says plainly when one of them is the better choice. Get Calendula from F-Droid or Google Play, and read the privacy policy for the details.

Features

  • Every view you need

    Month, week, three days, day and agenda, one tap apart. Open an event to see attendees and their replies, reminders, location and time zone.

  • Change one, or all of them

    Edit a single occurrence of a repeating event, everything after it, or the whole series. Build your own repeat rules. If an event changed somewhere else, Calendula asks before overwriting it.

  • Reminders that show up

    Android leaves reminders to your calendar app, so Calendula delivers them itself. Tap one to jump straight to the event.

  • Works with what you have

    Nextcloud through DAVx⁵, Google, Exchange, a WebCal subscription. If it syncs to your phone, it shows up in Calendula, with nothing to set up.

  • Private by default

    No internet permission, no telemetry, no analytics. Your calendars keep syncing through the app that already syncs them. Volunteers translate Calendula into fifteen languages.

  • On your home screen

    Agenda and month widgets in your Material You colours, rolling over right at midnight. A quick-settings tile and a launcher shortcut both open a new event.

  • Opens your .ics files

    Even the ones your mail app mislabels. One event opens for review, many are imported in one go, duplicates skipped. Export an event, a calendar, or automatic backups to a folder you pick.

  • No account needed

    Create local calendars that never leave the phone. Pull birthdays and anniversaries from your contacts into a calendar of their own. Contacts are only read, never changed.

What people say

  • ★★★★★
    Really nice open source calendar app. That gets regular updates unlike some other calendars. I also quite like that the app has a material 3 expressive design

    Jemand · Google Play ·

  • ★★★★★
    Top! Sieht auch sehr gut aus.

    Great! It looks really good too.

    Cosmin I. · Google Play ·

Read all reviews on Google Play

More on Calendula

Frequently asked

Does Calendula sync with Nextcloud, Google Calendar or another CalDAV server?

Yes, through the account that already syncs it. Calendula works with Android's own calendar storage, so anything synced to your phone shows up: Nextcloud through DAVx⁵, Google, Exchange, local calendars, WebCal subscriptions. Your edits sync back the same way. Calendula itself never talks to a server.

Does it work offline?

Always. The app has no internet permission, so it can't reach the network at all. Sync stays with the account you already use, and keeps running whether Calendula is open or not.

What does "Material 3 Expressive" actually mean here?

It's Google's 2025 update to Material 3, with more varied shapes, spring-based motion and a bigger type scale. Calendula uses that motion between views, on the calmer standard setting, because a month grid that bounces looks sloppy. Colours come from your wallpaper on Android 12 and up.

What makes it different from other open-source Android calendars?

It keeps no database of its own, so nothing gets trapped in the app. It delivers your reminders itself, which matters because Android leaves that job to your calendar app. And it has no internet permission, though Etar and Fossify Calendar don't either. The comparison page puts all three side by side and says when one of the others is the better pick.

Is it free, and what is the catch?

It's MIT-licensed, with no ads, no paid tier, no telemetry and no account. The catch: one person maintains it as a side project, so features arrive when they arrive. The issue tracker on Codeberg is public.

Is there a home-screen widget?

Two: an agenda list and a month grid. They show every calendar you have switched on, including Nextcloud or CalDAV through DAVx⁵, with nothing to configure. On Android 12 and up they take on your wallpaper colours. There's also a quick-settings tile and a launcher shortcut for new events.

Can it open an .ics invitation, or import a calendar file?

Yes, both, including the files mail apps mislabel as generic downloads. One event opens prefilled for review. A file with many lets you pick a calendar and imports them all, skipping duplicates. You can export single events or whole local calendars too.

Where can I install it?

F-Droid, Google Play, my own F-Droid repository, or Obtainium straight from Codeberg. It's the same app from the same source everywhere, and no build has an internet permission. Android 10 and newer.

Written about it