To sync iCloud Calendar with Google Calendar or Outlook, use SYNCDATE — connect your iCloud account via CalDAV (using an Apple app-specific password), connect your Google or Outlook account, and events sync two-way automatically. SYNCDATE is free for 2 calendars, no credit card required.
Most guides you'll find online teach a different method: subscribing to an iCloud iCal feed URL. That method is one-way (you can see iCloud events in Google, but changes don't flow back), delayed (Apple updates iCal feeds on an irregular schedule, often 15–60 minutes or more), and read-only (you can't create or edit events on the source calendar from the destination). That is not calendar sync. It's a slow, one-way read.
This guide covers both methods — honest about when each is appropriate — and walks through setting up true two-way iCloud Calendar sync via CalDAV, the open protocol Apple's own Calendar app uses under the hood.
One-way vs two-way — what "iCloud calendar sync" actually means
When people search for iCloud calendar sync, they usually want one of two things:
Two-way sync — events created, updated, or deleted on iCloud appear on Google (or Outlook), and vice versa. If your colleague books a meeting on your Google Calendar, it shows up on your iPhone. If you cancel it from iCloud, it disappears from Google. This is what most people need and what "sync" actually means.
One-way subscription — Google (or Outlook) reads events from your iCloud Calendar but can't write back. You see iCloud events in Google Calendar, but edits made in Google Calendar don't appear in iCloud. Useful for read-only visibility, not for active calendar management.
The iCal URL method (one-way, read-only)
Apple lets you publish your iCloud Calendar as a public iCal URL. You paste this URL into Google Calendar ("Other calendars > From URL") or Outlook ("Add calendar > Subscribe from web"). Events from iCloud appear in the destination calendar.
Limitations:
- Read-only — changes made in Google or Outlook don't sync back to iCloud
- Delayed — Apple controls when the feed refreshes; typically 15–60+ minutes, sometimes longer
- No deletions — if you cancel an event on iCloud, the copy in Google may linger for hours
- Only covers public or "shared" events — private events may not appear
When this is enough: Viewing sports league schedules, school calendars, travel itineraries, or any external iCloud calendar you don't actively edit.
The CalDAV method (two-way, real-time)
CalDAV (RFC 4791) is the open protocol for calendar data. iCloud, Google Calendar, and Outlook all support CalDAV. A sync tool that connects to iCloud via CalDAV can read and write events — creating, updating, and deleting on either side.
This is how SYNCDATE connects to iCloud. It uses iCloud's CalDAV endpoint (caldav.icloud.com) along with an Apple app-specific password to access your calendar with full read/write permissions. Events propagate in both directions within seconds of a change.
How to sync iCloud Calendar with Google Calendar (4 steps)
1Sign in to SYNCDATE with your Google account
Go to syncdate.app and click "Get Started." Sign in with your Google account. SYNCDATE uses Google OAuth 2.0 — it never stores your Google password, only a revocable access token scoped to calendar permissions.
What you need before you start:
- A Google account with Google Calendar
- An Apple ID with iCloud Calendar enabled
- Two-factor authentication turned on for your Apple ID (required by Apple for app-specific passwords)
- ~5 minutes
2Connect your iCloud account via CalDAV
From the SYNCDATE dashboard, click "Add Account" and select "iCloud / CalDAV." You'll be asked for:
- Apple ID (email): The email address you use to sign into iCloud
- App-specific password: A special password you generate at appleid.apple.com (not your regular Apple ID password)
To generate an app-specific password:
- Go to appleid.apple.com and sign in
- In the Sign-In and Security section, click App-Specific Passwords
- Click the + button and name it "SYNCDATE"
- Copy the generated password (16-character format: xxxx-xxxx-xxxx-xxxx)
- Paste it into SYNCDATE
SYNCDATE stores this password encrypted with AES-256-GCM — the same encryption used for Google and Outlook OAuth tokens. You can revoke it at any time from your Apple ID page without affecting your main Apple ID password.
3Create a sync between your Google and iCloud calendars
Click "Create Sync." Select your Google Calendar as the source and your iCloud Calendar as the target (or the reverse — direction is your choice). Choose:
- Two-way — events flow in both directions. Best if you manage events on both calendars and want them to stay in sync.
- One-way — events flow from source to target only. Best if one calendar is primary and the other should mirror it.
SYNCDATE syncs events as "Busy" blocks by default, keeping your event details private. You can change this per sync if you want full event titles and descriptions to transfer.
4Done — iCloud and Google Calendar are now in sync
SYNCDATE uses iCloud's CalDAV endpoint for polling-based sync with a short interval, and Google Calendar push notifications (webhooks) for real-time detection on the Google side. Changes on Google propagate to iCloud within seconds. Changes on iCloud are picked up within the CalDAV polling interval (typically under 30 seconds) or the 15-minute fallback at the latest.
Create a test event on your Google Calendar — it should appear in your iCloud Calendar (and on your iPhone) within seconds. Edit the time. Delete it. Confirm all three operations propagate correctly.
How to sync iCloud Calendar with Outlook (4 steps)
1Sign in to SYNCDATE with your Outlook account
Go to syncdate.app and click "Get Started." Sign in with your Microsoft account. SYNCDATE connects to Outlook via the Microsoft Graph Calendar API using OAuth 2.0 — no password stored.
If your Outlook account is managed by a Microsoft 365 organization, your IT admin may need to grant consent for SYNCDATE in the Microsoft Entra admin center before you can connect. Personal Outlook.com accounts don't require admin approval.
2Connect your iCloud account via CalDAV
From the SYNCDATE dashboard, click "Add Account" and select "iCloud / CalDAV." You'll need an Apple app-specific password — not your regular Apple ID password.
To generate an app-specific password:
- Go to appleid.apple.com and sign in
- Under Sign-In and Security, click App-Specific Passwords
- Click + and name it "SYNCDATE"
- Copy the 16-character password and paste it into SYNCDATE
Two-factor authentication must be enabled on your Apple ID to generate app-specific passwords. If it's not enabled, Apple's two-factor authentication guide walks through the setup.
3Create a sync between your Outlook and iCloud calendars
Click "Create Sync." Select your Outlook calendar and your iCloud calendar. Choose direction and privacy settings. Two-way sync keeps both calendars identical — events created in Outlook appear in iCloud and vice versa. One-way sync mirrors events in one direction only.
iCloud and Outlook represent some event properties differently. SYNCDATE handles the translation automatically — all-day events, recurring series, and timezones are normalized between providers.
4Done — iCloud and Outlook are now in sync
Changes detected in Outlook via Microsoft Graph change notifications propagate to iCloud within seconds. Changes in iCloud propagate to Outlook within the CalDAV polling interval or the 15-minute fallback. Your iPhone's Calendar app will reflect Outlook events almost immediately after they're added.
The iCloud app-specific password — what it is and why Apple requires it
Apple does not allow third-party applications to authenticate with your Apple ID password directly. Instead, Apple requires app-specific passwords for any third-party app that connects to iCloud services (including iCloud Calendar, iCloud Mail, and iCloud Contacts) via open protocols like CalDAV and IMAP.
Why Apple does this:
- Your main Apple ID password grants access to your entire Apple ecosystem — purchases, iCloud Drive, Find My, Apple Pay. Apple doesn't want that credential exposed to every app you connect.
- App-specific passwords are scoped: they grant access only to iCloud data services, not to your Apple account itself.
- They're revocable individually. If you decide to disconnect SYNCDATE, you revoke that specific password at appleid.apple.com without affecting other apps or your main Apple ID.
Requirements:
- Two-factor authentication must be active on your Apple ID. Apple has required 2FA for new Apple IDs since 2019, but older accounts may not have it enabled. If you don't have 2FA, go to appleid.apple.com > Sign-In and Security > Two-Factor Authentication to enable it.
- You can have up to 25 active app-specific passwords per Apple ID. If you hit the limit, you can revoke unused ones at any time.
How SYNCDATE handles the password:
SYNCDATE stores your app-specific password encrypted at rest using AES-256-GCM in the same way Google OAuth tokens and Microsoft OAuth tokens are stored. The password is used only to authenticate CalDAV requests to Apple's servers — it is never logged, exposed in the UI, or transmitted to any third party.
If you ever want to disconnect iCloud from SYNCDATE, you can revoke the app-specific password from your Apple ID page and it becomes immediately invalid. Your SYNCDATE sync will stop working; delete the iCloud account from SYNCDATE's dashboard to clean up the stored metadata.
What syncs between iCloud Calendar and Google / Outlook
| Property | Synced? | Notes |
|---|---|---|
| Event title | ✓ Yes | Full title transfers between providers |
| Date and time | ✓ Yes | Exact timing with timezone conversion |
| Duration | ✓ Yes | Event length preserved |
| Recurrence (RRULE) | ✓ Yes | Full recurring series per [RFC 5545](https://www.rfc-editor.org/rfc/rfc5545) |
| Description / notes | ✓ Yes | Event body transfers |
| Location | ✓ Yes | Preserved as plain text |
| Busy / Free status | ✓ Yes | Availability status transfers |
| All-day events | ✓ Yes | Handled correctly across providers |
| Attendees | ✓ One-way syncs | Guest lists transfer in one-way mode; not synced in two-way to avoid invitation conflicts |
| Reminders / alerts | ✗ No | Each calendar app manages its own reminders |
| Calendar color | ✗ No | Destination calendar's color applies |
| Attachments | ✗ No | File attachments don't transfer |
Timezone handling across iCloud, Google, and Outlook
iCloud Calendar stores timezones as IANA timezone identifiers (America/New_York), the same standard Google Calendar uses. Outlook uses Windows timezone identifiers (Eastern Standard Time). SYNCDATE normalizes between all three automatically. Events always appear at the correct local time regardless of where they originated.
All-day events are a known edge case across calendar providers. iCloud and Google represent them as date-only fields (no time component). Outlook represents them as midnight-to-midnight with timezone. SYNCDATE handles this conversion so all-day events show as full-day events — not as meetings starting at 12:00 AM — on every connected calendar.
One-way iCloud sync via iCal URL — when it's actually the right choice
Two-way CalDAV sync isn't always what you need. The iCal URL method (subscribing to an iCloud feed) makes sense in specific cases:
You only want to view events, not edit them. If you manage a shared iCloud calendar (a family vacation itinerary, a sports team schedule) and you just want to see those events in Google Calendar alongside your own, an iCal subscription is simpler. No account credentials required — just a URL.
The calendar is someone else's and you have no edit access. If a colleague or organization shares an iCloud calendar link with you, a CalDAV connection won't work (you'd need their credentials). An iCal subscription is the only option.
You're syncing from a third-party iCal feed, not iCloud specifically. SYNCDATE can sync any iCal feed (from Airbnb, sports leagues, schools, project management tools) into your Google or Outlook calendar. These are read-only by nature — iCal feeds have no write capability regardless of the tool.
Limitations to accept if you use iCal subscription for iCloud:
- Updates take 15–60+ minutes to appear in Google or Outlook
- Deletions may take even longer (or never propagate if the feed doesn't include cancellation markers)
- You can't create events in iCloud from Google's interface
- Scheduling tools (Calendly, Cal.com, "Find a Time") may not see subscribed events as blocking your availability
If you're using both calendars actively and double-bookings are the concern, the iCal method won't prevent them reliably. That's where two-way CalDAV sync is necessary.
Troubleshooting iCloud calendar sync issues
"Authentication failed" or "401 Unauthorized"
The most common cause: incorrect Apple ID email or app-specific password. App-specific passwords are easy to mis-copy — they're 16 characters in the format xxxx-xxxx-xxxx-xxxx. Try generating a new one at appleid.apple.com > Sign-In and Security > App-Specific Passwords, and reconnecting the iCloud account in SYNCDATE.
If your Apple ID email address contains a plus sign or special characters, try the email address format that Apple displays in "Personal Information" (this is the canonical identifier Apple's CalDAV server uses).
"Two-factor authentication required"
You can't generate app-specific passwords without two-factor authentication active on your Apple ID. Go to appleid.apple.com > Sign-In and Security > Two-Factor Authentication and follow Apple's setup flow. Once 2FA is active, return to the App-Specific Passwords section.
iCloud events not appearing in Google or Outlook
Check the SYNCDATE dashboard for the iCloud account status. If it shows a sync error, the most likely cause is an expired or revoked app-specific password. This happens if:
- You revoked app passwords at appleid.apple.com (the "Revoke All" option clears all app-specific passwords)
- You changed your Apple ID password (which automatically revokes all app-specific passwords)
- You enabled or disabled 2FA on your Apple ID
Fix: Generate a new app-specific password at Apple, then reconnect the iCloud account in SYNCDATE's dashboard.
Google or Outlook events not appearing in iCloud
If events are flowing one way but not the other, check the sync direction setting. In SYNCDATE, go to the sync and confirm it's set to two-way. Also verify the destination iCloud calendar is one you own and have write access to — shared iCloud calendars that were shared to you as "view only" can't receive new events.
Events appearing as duplicates
If you have both a SYNCDATE sync and an iCal URL subscription active between the same calendars, you'll see duplicates. Remove the iCal subscription in Google Calendar (Settings > "Other calendars" > click calendar > Unsubscribe) or in Outlook. SYNCDATE's two-way sync replaces the need for an iCal subscription — running both causes the same event to appear twice.
For more on preventing duplicates, see How to Stop Calendar Events from Duplicating.
iCloud calendar sync tools compared
| Feature | SYNCDATE | CalendarBridge | iCal subscription | Zapier |
|---|---|---|---|---|
| **iCloud support** | ✓ CalDAV | ✓ Yes | ✓ Read-only | ✗ No |
| **Google Calendar** | ✓ Yes | ✓ Yes | ✓ Subscription | ✓ One-way |
| **Outlook** | ✓ Yes | ✓ Yes | ✓ Subscription | ✓ One-way |
| **Two-way sync** | ✓ Yes | ✓ Yes | ✗ No | ✗ No |
| **Sync speed** | Seconds | ~15 min | 15–60+ min | 1–15 min |
| **Deletions sync** | ✓ Yes | ✓ Yes | ✗ No | ✗ No |
| **Updates sync** | ✓ Yes | ✓ Yes | ✗ No | ✗ (duplicates) |
| **Free tier** | ✓ 2 calendars | ✗ 7-day trial | ✓ Free | ✓ 100 tasks/mo |
| **Price** | Free–€12.49/mo | $4–$10/mo | Free | $0–$50+/mo |
| **EU-hosted** | ✓ Germany | ✗ US | N/A | ✗ US |
For the full comparison, see our calendar sync tool comparison.
Frequently Asked Questions
Can I sync iCloud Calendar with Google Calendar for free?
Yes. SYNCDATE's free plan supports syncing 2 calendars across 2 accounts — enough to connect one iCloud calendar with one Google Calendar in two-way sync. No credit card required, no trial expiration. If you need to sync more calendars (e.g., iCloud + multiple Google calendars), the Plus plan is €4.69/month for 20 calendars.
Do I need to share my Apple ID password with SYNCDATE?
No. SYNCDATE uses an app-specific password — a separate password you generate at appleid.apple.com specifically for this purpose. App-specific passwords give read/write access to iCloud Calendar without exposing your main Apple ID password. You can revoke it at any time without changing your Apple ID or affecting other apps.
Why do I need two-factor authentication to sync iCloud Calendar?
Apple requires two-factor authentication on your Apple ID before you can generate app-specific passwords. This is an Apple security policy — third-party apps connecting to iCloud via CalDAV must use app-specific passwords, and app-specific passwords require 2FA to be active. Enable 2FA at appleid.apple.com under Sign-In and Security.
Will changes I make in Google Calendar or Outlook appear on my iPhone?
Yes, if you're syncing two-way. When an event is created or updated in Google Calendar or Outlook, SYNCDATE writes the change to iCloud Calendar via CalDAV. Your iPhone's Calendar app checks iCloud periodically and displays the new event — typically within 30–60 seconds, the same speed as any iCloud event update.
What happens if I change my Apple ID password?
Changing your Apple ID password automatically revokes all app-specific passwords. Your iCloud sync in SYNCDATE will stop working and show an authentication error. Fix: generate a new app-specific password at appleid.apple.com, then reconnect the iCloud account in SYNCDATE's dashboard. Your sync configuration (calendars, direction, privacy settings) is preserved — only the credential needs updating.