Two-Way Google ↔ Outlook Calendar Sync (Free)
If you keep your personal life in Google Calendar and your work in Outlook (or the reverse), you don't want to look at the other calendar - you want to act on it. Reschedule a meeting from whichever app is open. Trust that a cancellation reaches both sides. Keep your availability honest for scheduling links. That's two-way sync, and you can set it up for free.
One-way vs two-way: why the distinction matters
Both Google and Microsoft let you subscribe to the other calendar through a public ICS link. It feels like sync, but it isn't:
- It's one-way. Changes flow only from the source to the subscriber. You can't edit the subscribed events.
- It's slow. The subscribing calendar re-checks the link on its own schedule - often only every few hours, sometimes longer. A meeting you move at 9am might not appear until the afternoon.
Two-way sync is different in kind, not degree. Every event you create, move, or cancel in either calendar is reflected in the other, promptly. Drag a meeting to a new time in Google and Outlook updates; accept an invite in Outlook and the busy block shows up in Google.
How to set up free two-way sync
The flow is the same no matter which calendar you think of as "primary":
- Add your Google calendar. Click Add calendar and select Google Calendar as the provider; you'll go through Google's standard consent screen - no password sharing, and you can revoke access at any time. Google then appears under Manage providers.
- Add your Microsoft / Outlook calendar the same way. Click Add calendar again and select Microsoft Calendar. Personal
outlook.comand work/school accounts both work. - Add a connection. Click Add connection, choose one Google calendar as the source calendar and one Outlook calendar as the target calendar, and set the sync direction to Two-way. It's free, and the classic "personal Google + work Outlook" split is exactly what it's for.
- Choose what to share. Pick All details, or Free/busy only (busy blocks with no titles or notes) for a calendar you don't want leaking private appointments.
- Let the first reconcile run. Existing events are matched up once; after that, ongoing changes flow automatically in both directions.
Once the initial reconcile finishes, you can forget it's running. That's the whole point.
What real two-way sync handles for you
- Edits in both directions. Move an event in either calendar and the other follows.
- Cancellations. Delete in one place, it's gone in both - no orphaned ghost events.
- Recurring series. Repeating meetings are synced as series rather than flattened into hundreds of individual copies.
- Time zones. Times are normalised across the two calendars' default zones, so a 9am meeting stays at 9am for everyone.
A few things to get right
- Use one service for both directions. Stacking two separate one-way tools that feed each other is how you create a duplication loop. A single service that tracks each event's identity across both calendars avoids this entirely.
- Decide on detail before the first sync, not after. Switching a calendar from full-detail to availability-only later means re-reconciling; pick the privacy level up front for the calendar that needs it.
- RSVPs stay with the invite owner. Accepting or declining doesn't always cross ecosystems cleanly. Treat the synced copy as a reliable time block and do the actual RSVP in the calendar that received the invite.
Real-time, not polling
The reason built-in subscriptions feel laggy is that they poll - they wake up on a timer and ask "anything new?" Calendar Family is event-driven instead: it listens for change notifications from Google and Microsoft and acts on them as they arrive, so a single edit doesn't wait for the next scheduled pass. In normal conditions, changes land in about a minute.
Calendar Family is free, so you can confirm two-way sync solves your problem first. Connect both calendars, pick which ones to sync, and let the sync keep them honest.