How to Sync Apple Calendar to Google Calendar

By Rida F'kih · August 16, 2026 · Updated August 29, 2026

Summary

Connect signed-in iCloud and Google in Keeper.sh and send busy-block copies each way to sync Apple Calendar with Google Calendar: iCloud onto the Google calendar a partner actually books against, Google onto the iCloud calendar they actually check. Two ticks, two mappings. One Apple ID with an app-specific password — source and destination. Copies land while the phone is in a pocket.

Family or personal life lives on iCloud Calendar; work or a partner books on Google Calendar in a browser. A slot typed on the iPhone must look taken on Google. If they only need Google visible in Apple Calendar, that is /blog/how-to-add-google-calendar-to-iphone — Settings → Calendar Accounts → Google, or Add Subscription Calendar. Stop there if overlay is the whole job. Sync iCloud calendar with Google calendar is the same leftover job on this page.

The weakest link is direction. Adding Google as an account, tapping Add Subscription Calendar, or choosing File > New Calendar Subscription overlays Google onto Apple. iCloud Public Calendar plus Google From URL overlays Apple onto Google as a read-only feed. An .ics import is a snapshot. None of them write a busy block onto the Google calendar a partner opens in a browser.

Keeper.sh exists to write private copies (placeholder title from the source calendar) onto the calendar that stays empty. On Pro, a Google change shows up the moment you make it. iCloud stays on the timer because Apple publishes no push. Nothing of theirs has to stay awake.

Account-add, subscribe, Public Calendar, From URL, and import fail that leftover job; the numbered Keeper.sh setup does not.

Adding Google to Apple Calendar only brings Google in

An evening block lives only on iPhone / iCloud Calendar. A partner opens Google Calendar on the web, sees that hour free, and books it. Overlay does not fix this: Google events inside Calendar.app are the wrong direction; a Public Calendar feed is not a first-class Google event Find a time treats as busy. The reverse is the same leftover job: work hours on Google, personal iCloud still showing the slot open. Adding Apple Calendar to Google Calendar is this leftover job, not overlay.

Apple Discussions, Syncing iCloud calendar to Google calendarhttps://discussions.apple.com/thread/255081263 (posted 22 Aug 2023; closed; 463 Me too), fetched 29 Aug 2026:

“this will only make your icloud calender entries visible in your google calendar app on the iPhone. It will NOT synchronize the two. This is apparent if you visit google calendar from a browser on a computer. No entries”

“If you want to view iCloud account calendar events on the Google Calendar web from a PC you can do this, however it is read only. You cannot make additions/edits to Apple Account calendar events from the Google Calendar web.”

Apple Support (SravanKrA, 23 Aug 2023) told them to export a .ics and import in Google — that is the snapshot fail below.

Adding Google to Apple Calendar does bring Google events into Calendar.app, but it does not bring Apple events into Google Calendar on the web. Google, Add Google Calendar events to Apple Calendarhttps://support.google.com/calendar/answer/99358, fetched 29 Aug 2026:

“You can add Google Calendar events to your Apple calendar on your Mac, iPhone, or iPad.”

“On the Accounts tab, use "Refresh Calendars" to choose how often you want Apple Calendar and Google Calendar to sync.”

On a Mac the path is CalendarPreferencesAccountsAddGoogleContinue, then Refresh Calendars on that tab. Apple and Google do not publish what those menu intervals mean in minutes.

On an iPhone the current path is in Apple, Change your Calendar settings on iPhonehttps://support.apple.com/guide/iphone/change-calendar-settings-iphc37be2016/ios, iOS 26, fetched 29 Aug 2026:

“Go to the Settings app on your iPhone.”

“Tap Apps, then tap Calendar.”

“Tap Calendar Accounts, then tap Add Account.”

“Tap a service (iCloud, Microsoft Exchange, or Google, for example), then sign in.”

Google’s iOS tab on the same page still prints the older SettingsCalendarAccountsAdd accountGoogle labels; Apple’s current labels are Apps → Calendar → Calendar Accounts. Google 99358 iOS:

“You can sync Google Calendar with the Calendar app that comes on your iPhone or iPad.”

Verdict: Adding Google to Apple Calendar shows Google events inside Calendar.app; it does not create Apple or iCloud events on Google Calendar.

Add Subscription Calendar is a read-only overlay

Apple Calendar subscribe to Google Calendar is this overlay: paste a Google ICS feed into Add Subscription Calendar. If that is the whole job, use /blog/how-to-add-google-calendar-to-iphone instead.

Apple, Set up multiple calendars on iPhonehttps://support.apple.com/guide/iphone/use-multiple-calendars-iph3d1110d4/ios, iOS 26, fetched 29 Aug 2026:

“Subscribe to an external, read-only calendar: Tap Add Subscription Calendar, enter the URL of the .ics file you want to subscribe to (and any other required server information), then tap Find.”

“You can also subscribe to an iCalendar (.ics) calendar by tapping a link to it.”

On Mac, Apple, Subscribe to calendars on Machttps://support.apple.com/guide/calendar/subscribe-to-calendars-icl1022/mac, macOS Tahoe 26, fetched 29 Aug 2026:

“The events shown in a subscription calendar are controlled by the provider. You can’t edit calendars you are subscribed to (for example, the Holidays calendar).”

“Choose File > New Calendar Subscription.”

“Enter the calendar’s web address, then click Subscribe.”

“Click the Auto-refresh pop-up menu, then choose how often to update the calendar.”

Apple publishes no minute values for Auto-refresh.

The Google secret ICS URL comes from Google, Sync your calendar with computer programshttps://support.google.com/calendar/answer/37648, fetched 29 Aug 2026:

“If your calendar application doesn't have a full sync option, or if you want a read-only view of one calendar, you can sync your calendar to the application using a link to iCal.”

“In the "Secret address in iCal format" section, copy the link.”

“Important: Only you should know the Secret Address for your calendar. Do not share this address with other people.”

A pasted share, ICS, or subscribe link is pull-only in Keeper.sh — never a destination. Keeper.sh /docs/accounts-and-calendars says: “A calendar subscribed from a link is read-only, so it can send events but never receive them.”

Verdict: Add Subscription Calendar / New Calendar Subscription is a read-only overlay of a Google ICS feed in Apple Calendar. It does not put Apple events on Google.

Public Calendar plus From URL is a pull-only feed

This is the native path that looks like Apple → Google. It is still a feed, not a busy-block copy.

On iCloud.com, Apple, Share a calendar on iCloud.comhttps://support.apple.com/guide/icloud/share-a-calendar-mm6b1a9479/icloud, fetched 29 Aug 2026. Hover the calendar in the sidebar, open calendar info, turn on Public Calendar, then Copy:

“When you share a calendar publicly, your invitees automatically receive an email that includes the calendar URL. An invitee doesn’t need to be an iCloud user to accept an invitation to view a shared public calendar.”

“Only the calendar’s owner can share and make changes to a public calendar.”

“Turn on Public Calendar”

“Share the calendar with a link: Select Copy, then paste the link where you want to share it”

On Mac, Apple, Share iCloud calendars on Machttps://support.apple.com/guide/calendar/share-icloud-calendars-icl32362/mac, fetched 29 Aug 2026:

“To let anyone view your calendar—including people not listed in the Shared With list—select Public Calendar.”

“People who subscribe to your public calendar can view it, but can’t change it.”

Then in Google, Subscribe to someone else’s calendarhttps://support.google.com/calendar/answer/37100, Computer, fetched 29 Aug 2026:

“To subscribe to a new calendar, you must use a computer web browser. You can't subscribe to a calendar in the Google Calendar app for Android, iPhone, or iPad.”

“Important: You can only add a calendar with a link if the other person's calendar is public.”

“On the left, next to "Other calendars," click Add other calendars From URL.”

“Enter the URL of the published calendar.”

“Click Add calendar.”

“The calendar displays on the left, under "Other calendars."”

Google does not publish a refresh interval for a calendar added From URL.

On My iPhone / local-only calendars cannot produce a Public Calendar link; Apple’s public share is an iCloud feature. Keeper.sh’s Apple connect also needs iCloud, not On My iPhone.

A pasted share, ICS, or subscribe link is pull-only in Keeper.sh — never a destination.

Verdict: Public Calendar + From URL is a read-only Google subscription. It does not write Apple events in as Google events, and Google does not publish how often it re-reads the link.

Importing an .ics file is a snapshot

People are told to do this. It fails this job.

Google, Import events to Google Calendarhttps://support.google.com/calendar/answer/37118, fetched 29 Aug 2026:

“When you import an event, guests and conference data for that event are not imported.”

“Tip: Imported events don't stay in sync between your 2 accounts. If you want your calendars to sync, share your calendar with the other account.”

Sharing, in Google’s wording here, is a permission grant on one Google calendar. It is not Apple → Google writes. Do not take “share” as the fix for this pair.

Apple Support (SravanKrA, 23 Aug 2023, same thread) pointed at exporting .ics from Mac Calendar and importing via Google Other calendars → Import. That is the snapshot being recommended.

Verdict: Import creates real Google events once and never updates them again.

Put busy blocks on Google with Keeper.sh

You need a Keeper.sh account. Connecting copies nothing by itself. Keeper.sh /docs/accounts-and-calendars says: “Connecting copies nothing by itself. Events only move once you send them to another calendar.”

iCloud needs an app-specific password. Apple, Sign in to apps with your Apple Account using app-specific passwordshttps://support.apple.com/en-us/102654, Published Date: October 08, 2025; fetched 29 Aug 2026:

“App-specific passwords allow you to sign in to your Apple Account in apps made by developers other than Apple.”

“To generate and use app-specific passwords, your Apple Account must be protected with two-factor authentication.”

“Sign in to your Apple Account on account.apple.com.”

“In the Sign-In and Security section, select App-Specific Passwords.”

“Select Generate an app-specific password, then follow the steps on your screen.”

“Enter or paste the app-specific password into the password field of the app when signing in to your Apple Account.”

“After you revoke a password, the app using that password will be signed out of your account until you generate a new password and sign in again.”

“Any time you change or reset your primary Apple Account password, all of your app-specific passwords are revoked automatically to protect the security of your account. You need to generate new app-specific passwords for any apps that you want to continue using.”

Apple, Access your iCloud Mail, Calendar, and Contacts in third-party appshttps://support.apple.com/en-us/121539, Published Date: October 07, 2025; fetched 29 Aug 2026:

“If an app doesn't support this, you can sign in using an app-specific password instead.”

Keeper.sh /docs/accounts-and-calendars (fetched 29 Aug 2026): “iCloud and Fastmail — an app-specific password, made in their settings.”

If a working Keeper.sh iCloud connection later goes quiet after an Apple password change, generate a new app-specific password and paste it into Connect Apple Calendar. This is Apple’s behaviour, not a Keeper.sh defect.

  1. Sign in to Keeper.sh. Open Connect Apple Calendar. Generate an app-specific password at account.apple.com (label it), then paste it into the connect field. See /docs/accounts-and-calendars. One Apple ID. That signed-in iCloud calendar can send and receive.
  2. Connect Google on Google’s permission screen. Connecting copies nothing. Two accounts is the Free allowance.
  3. Open the iCloud calendar page. Under Send Events to Calendars, tick the Google calendar. One connection, Apple → Google. Copies are real Google events. /docs/sending-events-to-another-calendar: “Each calendar you tick becomes one connection. Events are copied into it, one way, and the copies are kept corrected as the originals change.”
  4. Open the Google calendar page. Tick the iCloud calendar. Second connection, Google → iCloud. That is two of Free’s three connections. Same Apple ID — not two Apple IDs.
  5. Leave the privacy defaults. Copies use a placeholder title from the source calendar; description and location stay hidden. Those toggles are Pro. Guest lists are never copied. See /docs/what-a-copied-event-shows.
  6. Confirm on each destination: a real event, named after the source calendar, no notes, no location, no guest list. Wait for the next write. Google (Pro) can land within seconds. iCloud stays on the timer on both plans.

Busy-block copies both ways means two mappings — A→B and B→A. A create still lands on the calendar that owns the event. If nothing arrives, check /guides/event-has-not-arrived. If two of the same event appear, see /guides/same-event-appears-twice. Untick stops new copies; already-copied events stay (/docs/sending-events-to-another-calendar: “Untick the calendar in Send Events to Calendars and new events stop being copied. Events already copied stay where they are.”). Password or admin revoke means generating a new app-specific password. For a broader recipe, see /recipes/sync-work-and-personal-calendars; for titles on one side only, /recipes/keep-personal-details-out-of-work.

A pasted share, ICS, or subscribe link is not a destination. If you connected a URL instead of signing in to iCloud, you can send from it, not into it. Keeper.sh does not take an uploaded .ics as a live connection.

Cadence and price: Sources are read every minute on every plan. Free destinations write every 30 minutes. Pro writes every minute; on Pro, a Google change shows up the moment you make it. Keeper.sh /docs/plans-and-limits: “On Pro, Google Calendar and Outlook notify Keeper.sh the moment an event changes, so the copy lands within seconds.” iCloud stays on the timer on both plans because Apple publishes no push. Keeper.sh /docs/plans-and-limits: “iCloud, Fastmail and other CalDAV calendars are checked on a timer on either plan, because Apple publishes no way for a calendar tool to be told an event changed.” Free includes 2 accounts, 3 connections, and 1 shareable link; this pair uses 2 accounts and 2 connections. Pro is $5 a month, or $45 a year paid annually (/docs/plans-and-limits: “Pro is $5 a month, or $45 a year paid annually.”). Guest lists are never copied, on any plan.

Why a Keeper.sh copy instead of a feed

Adding Google as an account or using Add Subscription Calendar only overlaid Google onto Apple. A Keeper.sh connection writes a private copy onto the Google calendar that stayed empty.

Public Calendar + From URL only overlaid a read-only feed, and Google does not publish a refresh interval. Keeper.sh copies are first-class Google events, kept corrected as the originals change.

An .ics import was a snapshot. Keeper.sh copies keep correcting. On Pro, a Google change shows up the moment you make it, while the phone is away. Keeper.sh /docs/plans-and-limits: “On Pro, Google Calendar and Outlook notify Keeper.sh the moment an event changes, so the copy lands within seconds.” iCloud stays on the timer because Apple publishes no push.

Can Keeper.sh use cookies for analytics?