You have a work calendar and a personal one, and you want your busy time to show up in both. Keeper.sh and OneCal both do that job.
OneCal is a broad scheduling suite: sync, booking links, apps and admin tools in one subscription. Keeper.sh does the sync job only, reaches calendars OneCal does not, and is open source under AGPL-3.0 so you can run the whole thing on your own server.
Which calendars can you connect?
OneCal connects Google Calendar, Microsoft Outlook Calendar and Apple iCloud Calendar. That is the list on their site: no CalDAV, and no way to add a plain .ics calendar link.
Keeper.sh connects Google, Outlook, iCloud and Fastmail, plus any CalDAV server and any public .ics or iCal link. Nextcloud, Zimbra, Radicale, a university timetable, a conference schedule: if it hands you a login or a link, Keeper.sh reads it.
A calendar link is read-only by nature. Keeper.sh copies events out of one, and nothing you do elsewhere writes back to it.
How fast do changes show up?
OneCal says changes sync as they happen on Google and Outlook. On iCloud, their site says updates take up to 10 minutes to reach your other calendars.
Keeper.sh reads every connected calendar once a minute, on both plans. A change then lands on your other calendar in about a minute on Pro, two at the outside. On free it is about fifteen minutes, thirty-one at the outside.
Pick by how you get booked. Fifteen minutes is invisible if you are blocking out evenings so nobody schedules over dinner. If someone is booking you while you are still on the call, that is Pro.
iCloud is a different situation for anyone reading it. Apple publishes no way for an outside tool to be told an event changed, so an iCloud calendar has to be checked on a schedule rather than watched.
What does it cost?
OneCal has no free tier, and each plan starts with a 14-day trial that needs no card. Paid annually, the three plans are $5, $10 and $25 per user per month, covering 2, 5 and 50 calendars. Billed monthly they are $6, $12 and $30 per user.
Keeper.sh is free for 2 linked accounts and 3 connections, with no limit on how many calendars each account carries. Pro is $5 a month, or $42 a year, and lifts both limits.
The counts do not line up, because OneCal prices calendars and Keeper.sh prices accounts and connections. Two Google accounts holding five calendars between them is OneCal's $10 plan, and sits inside the Keeper.sh free tier.
A connection runs one way. Mirroring work into personal and personal back into work is two of your three free connections.
Where OneCal is the stronger buy
You run your day from your phone. OneCal ships iOS, Android and macOS apps on every plan. Keeper.sh runs in a browser, and once the connections are set up it keeps working whether or not anyone opens it.
You sell your time through a booking page. OneCal includes unlimited one-on-one and collective scheduling links, with buffers, custom availability and minimum notice periods. Keeper.sh does not ship booking links today, so it sits behind whichever booking tool you already use.
You are buying for a team. OneCal has OIDC and SAML single sign-on, SCIM directory sync, audit logs and an admin dashboard. Keeper.sh is set up one person at a time, though a self-hosted instance carries as many people as you put on it, with no seat count.
Your security review has teeth. OneCal publishes a data security page, a data processing addendum and a subprocessor list, states that it is GDPR compliant, and says its SOC 2 audit is in progress. Keeper.sh answers the same question from the other end: the code is public, and you can keep the whole thing on hardware you own.
Where Keeper.sh is the stronger buy
Your calendar is not Google, Outlook or iCloud. This is the clearest reason to pick Keeper.sh. If a tool cannot connect the calendar you actually have, nothing else about it matters.
Your event titles stay where they are. By default Keeper.sh copies a busy block labelled with the calendar's name, and leaves the title, description and location behind on the original. Pro can turn that off per calendar; the free plan keeps the private version and cannot change it.
You want to try it without handing over a card. Two accounts and three connections stay free indefinitely, which covers one work calendar and one personal calendar with room to spare.
You keep making new calendars. Link an account and every calendar on it is available. Nothing gets more expensive because you added a calendar for a side project this morning.
You want your schedule readable elsewhere. Keeper.sh gives you one calendar link covering every calendar you opt in, subscribable from anything that reads a link.
You want an assistant to touch your calendar. OneCal ships an MCP server with 8 tools. Keeper.sh ships one with 14, plus a REST API that reads, creates, updates, deletes and RSVPs to events, free at 25 calls a day.
You want to read the code. Keeper.sh is AGPL-3.0, so how your events are handled is something you can check rather than take on trust.
Running Keeper.sh yourself
Every Pro feature is included when you run Keeper.sh yourself, at no cost. No licence key, no seat count, and nothing phoning home. You get unlimited accounts and connections, one-minute updates, calendar link customisation and event filters.
Be realistic about the effort. You need a server, a Postgres database, Redis and a domain with TLS. You also register your own Google and Microsoft apps for calendar access, which takes an afternoon and involves Google's verification process.
After that, upgrades, backups and uptime are yours. Docker Compose files and a standalone image keep the setup short. If that reads like a chore, hosted Keeper.sh is $5 a month.
FAQ
Can I self-host OneCal?
No, OneCal is a hosted commercial product. Keeper.sh is AGPL-3.0 and runs on your own server with every Pro feature included.
Does Keeper.sh sync both directions?
Yes, as two connections. Each connection runs one way, so you create one in each direction to keep a pair of calendars feeding each other.
Which one should I pick?
Pick OneCal for mobile apps, booking links or single sign-on for a team. Pick Keeper.sh for CalDAV and .ics calendars, a free tier, event details that stay private by default, or a copy you run yourself.
Where these facts come from
Everything above about OneCal comes from their own public pages, checked on 11 August 2026. Everything about Keeper.sh comes from our code and our pricing. Prices and features change, so follow the links if a detail matters to your decision.
- OneCal plans, prices, calendar counts, trial, single sign-on, SCIM and audit logs: onecal.io/pricing
- OneCal supported calendars and sync speed, including the iCloud figure: onecal.io
- OneCal mobile apps: onecal.io/mobile-apps
- OneCal booking and scheduling links: onecal.io/scheduling-links
- OneCal security posture, GDPR and SOC 2 status: onecal.io/data-security
- OneCal MCP server and its 8 tools: onecal.io/integrations/calendar-mcp-server
- Keeper.sh plans and limits: keeper.sh
- Keeper.sh code, licence and self-hosting guide: github.com/ridafkih/keeper.sh