Open-Source Calendar Sync Tools Compared

By Rida F'kih · August 11, 2026

Search for an open-source calendar sync tool and you get three unrelated kinds of software mixed together. Most of what comes back is a CalDAV server or an Android client. Neither will copy an event from your work calendar onto your personal one.

This article sorts them by what they actually do.

The three categories

A tool that mirrors events between accounts reads from one calendar account and writes into another. That is what you want if your problem is double bookings across a work and a personal calendar.

A CalDAV server is somewhere to keep calendars you control, using the standard most calendar apps can talk to. It solves a different problem: getting off a provider, not making two of them agree.

A client or device sync agent puts a server's calendars onto a phone or a desktop. It will not copy events between two cloud accounts either.

Keeper.sh is in the first category, and this article is on Keeper.sh's own site, so read the rest with that in mind.

ProjectMirrors between accountsLicenceCategory
Keeper.shYes, this is the whole productAGPL-3.0Mirroring
vdirsyncerYes, by pairing two remote storagesBSD 3-ClauseMirroring
n8nNot out of the box, you build the workflowSustainable Use License v1.0Automation platform
ActivepiecesNot out of the box, you build the flowMIT, with packages/ee separately licensedAutomation platform
RadicaleNo, it is a serverGPLv3CalDAV server
BaïkalNo, it is a serverGPL-3.0CalDAV server
Nextcloud CalendarNo, external calendars are read-only subscriptionsAGPL-3.0CalDAV server
DAVx⁵Not documented, it syncs a device to a serverGPL-3.0Device sync
EteSyncNo, it syncs its own encrypted accountsAGPL-3.0Encrypted sync stack

Mirrors events between accounts

These will move an event from one calendar account into another. Two do it as a product; two give you the parts to assemble one.

Keeper.sh

A hosted and self-hostable service that reads events from calendar accounts and writes busy blocks into others. Five first-class providers, plus generic CalDAV and calendar links you can subscribe to.

It is AGPL-3.0, runs from published Docker images, and a self-hosted instance gets every Pro feature with no licence key. Google and Microsoft are used through their own APIs, so Keeper.sh only fetches what changed. It checks on a timer rather than being pinged: every minute in, then 30 minutes or one minute out depending on plan.

vdirsyncer

A command-line tool that syncs calendars and contacts between servers and your own filesystem, under a BSD 3-Clause licence. Pairing two storages lets you connect two remote accounts directly.

There is a google_calendar storage you sign in to, and Microsoft is not documented. There is no hosted version and no scheduler, so you run it yourself. The latest tag is v0.20.0, from a commit dated 28 August 2025.

n8n

A workflow automation platform with no calendar mirroring feature. Its Google Calendar and Microsoft Outlook nodes give you the event operations to build one yourself.

It is distributed under the Sustainable Use License v1.0, which is not an OSI licence. Use is limited to internal business purposes, and redistribution must be free of charge and non-commercial. Cloud tiers are Starter €20, Pro €50 and Business €667 a month billed annually.

Activepieces

A workflow automation platform in the same shape as n8n, MIT licensed with the packages/ee directories under a separate licence. Its Google Calendar piece has event triggers and actions, and its Microsoft Outlook Calendar piece covers create, delete and list.

It runs self-hosted or on Activepieces Cloud, which has a free tier, Plus at $16 and Team at $166 a month billed yearly. The latest release is 0.87.0, on 6 August 2026.

CalDAV servers you host yourself

These host your calendars. None of them connects to Google Calendar or Microsoft, and none copies events between third-party accounts. They pair well with a sync tool rather than replacing one.

Radicale

A small CalDAV and CardDAV server under GPLv3. It gives you somewhere to keep your own calendars.

It runs as a Python server with a Docker image available, and there is no hosted version on the official site. The latest release is v3.7.8, on 6 August 2026.

Baïkal

A lightweight CalDAV and CardDAV server built on sabre/dav, GPL-3.0, with a web admin interface. Same role as Radicale: a place to host calendars, not a way to copy events between accounts.

It runs as a PHP server, and no hosted version is mentioned on the project page. The latest release is 0.12.1, on 5 August 2026.

Nextcloud Calendar

The calendar app for a Nextcloud server, AGPL-3.0, on a CalDAV backend. Other calendars can be added as read-only subscriptions from a link, refreshed weekly, so it is a viewer of other calendars rather than a mirror.

There is no documented Google or Microsoft connector. Nextcloud Enterprise starts at €71.29 per user per year from 100 users. The latest tag is v6.6.0, dated 28 July 2026.

Clients and device sync

These get calendars onto your devices. They are here because they turn up in the same searches, not because they are substitutes.

DAVx⁵

An Android sync adapter for CalDAV, CardDAV and WebDAV, GPL-3.0. It gets a server's calendars onto an Android phone, and its documented job is device to server rather than server to server.

Google accounts work over CalDAV, which its own documentation states is not officially supported by either party. It is paid in the app stores and free on F-Droid and GitHub. The latest release is v4.5.19-ose, on 3 August 2026.

EteSync

An end-to-end encrypted sync stack, AGPL-3.0, with its own server, clients and a bridge for desktop calendar apps. It syncs its own accounts across your devices rather than copying events between Google and Outlook.

Hosted plans are Personal at $2 a month billed yearly and Supporter at $4 a month. The latest tag is v0.14.2, from a commit dated 13 June 2024 — worth knowing before you build on it.

Picking between them

  • Want a calendar server you own? Radicale or Baïkal, or Nextcloud if you want the rest of Nextcloud with it.
  • Want encrypted sync across your own devices? EteSync.
  • Comfortable with a command line and a cron job? vdirsyncer costs nothing to run and is a small, well-understood tool.
  • Already running n8n or Activepieces? Build the sync logic there rather than adding another service.
  • Need your CalDAV calendars on Android? DAVx⁵, alongside whatever else you use.

Keeper.sh is the better fit when you want copying between accounts to work without assembling it yourself. It reaches Google and Microsoft through their own APIs rather than CalDAV workarounds, and the hosted and self-hosted versions have the same features.

It writes anonymised busy blocks by default rather than full event copies. AGPL-3.0 also matters if a source available licence with use restrictions does not work for you.

What Keeper.sh does not do

Keeper.sh is not a calendar server. It does not store your calendars in a way you would want to point a calendar app at, so it does not replace Radicale, Baïkal or Nextcloud. It has no mobile app and no desktop client.

It checks on a timer rather than being pinged the moment something changes. Changes take up to a minute on Pro, and up to 30 minutes on the free plan, to reach the other calendar. Keeper.sh only fetches what changed on Google and Outlook, while CalDAV calendars are re-read and compared in full every cycle.

Self-hosting is genuinely full-featured, with one caveat worth stating. Passkey and social login are only enabled in commercial mode, so a self-hosted instance uses email and password.

Frequently asked questions

Is n8n open source?

n8n is distributed under the Sustainable Use License version 1.0, which is not an OSI-approved open-source licence. Its terms limit use to your own internal business purposes and allow redistribution only free of charge for non-commercial purposes. The project describes itself as fair-code.

Can I self-host Keeper.sh, and do I lose features?

Yes, under AGPL-3.0, with published Docker images. Self-hosted instances get every Pro feature with no licence key. You do lose passkey and social login, which are only enabled in commercial mode, and you are responsible for running Postgres and Redis.

Sources

Every third-party claim above comes from one of these pages, each checked on 11 August 2026.

  1. Keeper.sh repository — AGPL-3.0 licence, Docker images, self-hosting instructions.
  2. vdirsyncer configuration docs — BSD 3-Clause licence, storage pairs, google_calendar storage.
  3. vdirsyncer repository — latest tag v0.20.0, commit dated 28 August 2025.
  4. n8n LICENSE.md — Sustainable Use License v1.0, internal business purposes and non-commercial distribution.
  5. n8n documentation — Google Calendar node and Microsoft Outlook node with calendar and event operations.
  6. n8n Cloud pricing — Starter, Pro, Business and Enterprise tiers.
  7. Activepieces repository LICENSE — MIT with the packages/ee directories under a separate licence.
  8. Activepieces Google Calendar piece — Google Calendar and Microsoft Outlook Calendar pieces, available triggers and actions.
  9. Radicale — CalDAV and CardDAV server, GPLv3, release v3.7.8 on 6 August 2026.
  10. Baïkal — lightweight CalDAV and CardDAV server, GPL-3.0, release 0.12.1 on 5 August 2026.
  11. Nextcloud Calendar documentation — read-only subscription from link, refreshed weekly.
  12. Nextcloud Calendar repository — AGPL-3.0 licence, latest tag v6.6.0 dated 28 July 2026.
  13. DAVx⁵ — all-in-one CalDAV, CardDAV and WebDAV solution for Android, GPL-3.0, release v4.5.19-ose on 3 August 2026.
  14. DAVx⁵ documentation — Google accounts work over CalDAV and are not officially supported by either party.
  15. EteSync — end-to-end encrypted sync for contacts, calendars, tasks and notes, with a DAV bridge.
  16. EteSync server repository — AGPL-3.0 licence, latest tag v0.14.2 with a commit dated 13 June 2024.
Can Keeper.sh use cookies for analytics?