Export an Outlook calendar to Google and stop keeping two of them
Two calendars is a stable arrangement for about a week. Then a meeting gets booked in the one that was not open, a Saturday commitment exists in only one place, and the habit of checking both wears off at exactly the wrong moment. The search for a way to get Outlook events into Google Calendar is usually the point at which someone decides to stop running two schedules and start running one.
The instructions are short, and the reason people end up with the wrong result anyway is that the two obvious methods produce completely different things. One copies the events as they stand today. The other creates a standing view that keeps updating. Choosing the copy when a connection was wanted is the source of nearly every complaint about calendars drifting apart afterwards.
Decide whether the goal is a copy or a connection
Microsoft is explicit about what the export does. Its own guidance states that exporting an Outlook calendar to Google Calendar is exporting a snapshot of the calendar, and that changes made afterwards in Outlook are not reflected in Google Calendar. The events arrive, they become Google's events, and the two calendars start diverging the moment the next edit happens.
A connection behaves in the opposite way. The events stay owned by Outlook, Google displays them, and every change on the Outlook side shows up without anyone doing anything. The trade is control: a connected calendar is read only in Google, so an event cannot be dragged to a new time from there.
That gives a simple test. If a job or a schedule is ending and the events need to survive in a new home, the copy is correct. If both accounts will keep existing, which is the normal case for a work calendar and a personal one, the connection is correct and the copy is a trap. It is worth deciding this before touching either application, because the work of undoing a bad import is manual and tedious.
The file route, which lives in Outlook on Windows
The documented export path is in Outlook's desktop application on Windows, and Microsoft lists it for Outlook for Microsoft 365, Outlook 2024 and Outlook 2021.
- Open the Calendar in Outlook and select the calendar to export.
- Choose File, then Save Calendar.
- Accept the suggested file name or type one.
- Open More Options to change what goes into the file.
- Set the Date Range, choosing a preset or entering custom dates.
- Set the Detail level.
- Click OK, then Save.
Two of those steps decide whether the result is usable. The date range defaults to something narrow, and Microsoft warns that choosing a wide range or the whole calendar can produce a large file that takes a while to generate. The detail setting decides how much of each event goes into the file, which matters because an event exported at the lowest level arrives in Google as a block of time with no content, and the only fix is to export again.
The file produced is an iCalendar file, ending in .ics. That is the format Google reads, which is why this route works at all.
Bringing the file into Google Calendar
The receiving half is short, and Microsoft documents it alongside its own steps.
- Open Google Calendar on a computer.
- Open Settings from the gear at the top right.
- On the left, click Import and export.
- Click Select file from your computer and choose the
.icsfile. - Pick the destination calendar under Add to calendar.
- Click Import.
The destination choice is the one to slow down for. Importing into the primary calendar mixes a year of work meetings into the calendar that also holds birthdays, and separating them afterwards means editing events one at a time. Creating an empty calendar first and importing into that keeps the work visible, switchable off, and deletable in one action if the import went badly.
Google's own note on importing is worth reading before rather than after: when an event is imported, guests and conference data are not imported. The meetings arrive as appointments with a title, a time and usually a location. Nobody is invited, and no video link travels with them. For an archive that is fine. For a live schedule of meetings other people expect to attend, it is a significant loss, and no amount of care in the export fixes it.
Why these steps do not work on a Mac
Anyone reading the instructions above while sitting at a Mac will not find the Save Calendar command, and the reason is a real difference rather than a missing setting.
Microsoft's documentation for legacy Outlook for Mac describes exporting to an Outlook for Mac Data File, ending in .olm, and states plainly that the only export option available is the .olm archive file. Google Calendar's import accepts .ics and .csv. The two do not meet. An .olm file is a backup that only Outlook can read, so the archive is not a step towards Google Calendar at all. Microsoft also notes that support for legacy Outlook for Mac ends in October 2026, which makes it a poor foundation for a workflow in any case.
That leaves Mac users three practical options. Borrow a Windows machine for the ten minutes the Save Calendar step takes. Sign in to Outlook on the web, publish the calendar, and use the link, which is covered next and is the better answer for most people. Or, where the events only need to be visible rather than owned, connect the two accounts in a desktop calendar that can hold both at once and skip the transfer entirely.
The link route: publish from Outlook, subscribe in Google
This is the route that keeps working after the first day, and it does not depend on which computer is to hand.
On the Outlook side, publishing is in the web interface. Open Calendar settings, go to Calendar, then Shared calendars. Under Publish a calendar, choose the calendar and how much detail to expose, then select Publish. Microsoft's documentation explains the two links that come back. An HTML link opens the calendar in a browser. An ICS link can either be downloaded as a file and imported, or used as a subscription, in which case the subscriber sees the calendar alongside their own and receives updates automatically. Both are read only, and Microsoft notes that how often the ICS calendar syncs depends on the recipient's email provider.
On the Google side, the receiving control is next to "Other calendars", where From URL takes the published address. Google documents that this works only when the other calendar is public, which is precisely what publishing does. The calendar then appears under Other calendars and updates on Google's own schedule.
Two limits in Google's documentation are worth knowing before building anything on this. The subscribe by email address flow is for Google calendars only, stated as not being able to subscribe to calendars that are not from Google, so an Outlook calendar has to arrive as a published address rather than as a person. And subscribing to more than 400 calendars can cause performance problems when browsing calendars, which is only a concern for someone collecting team calendars one at a time.
The same arrangement works in the other direction, and anyone who ends up wanting both views should know it exists. Every Google calendar has a secret address in iCalendar format, found by opening Settings, picking the calendar in the list of calendars that account owns, and clicking Integrate calendar, and Outlook accepts it through Add calendar, then Subscribe from web. Google's own troubleshooting note is that the secret address is the one to use when the public address returns a feed processing error, and that a calendar with no secret address cannot be exported by that person at all. Treat the secret address as a credential rather than a link, because it shows the calendar to anyone holding it without a sign-in, and Google provides a reset for exactly that reason.
One route that sounds simpler than it is: sharing the Outlook calendar directly with a Gmail address. Microsoft states that when an Outlook.com calendar is shared with non-Outlook.com users, such as Gmail users, they can only accept the invitation with an Outlook.com or a Microsoft 365 account. The invitation arrives and cannot be used in Google Calendar, which is a confusing failure unless the limitation is known in advance.
Which route fits which job
| Route | Where it runs | Result in Google | Stays current | Fits |
|---|---|---|---|---|
| Save Calendar, then import | Outlook on Windows | Google's own events, editable | No | A calendar that is being retired |
| Publish ICS, add From URL | Outlook on the web and Google | A read-only calendar under Other calendars | Yes | Two accounts that both keep going |
| Publish ICS, download and import | Outlook on the web and Google | Google's own events, editable | No | A one-time copy from a Mac |
| Sign in to both in one desktop calendar | A Mac calendar application | Both calendars side by side, editable | Yes | Working in one place all day |
What no route carries with it
Every method above moves less than the calendar contained, and the gaps are consistent enough to plan around.
Guests and conference data are the largest. Google states they are not imported, so meetings that arrive by file are stripped of both the invitee list and the meeting link. Anyone whose reason for moving calendars is to keep running those meetings needs a connected account rather than a transfer.
Detail level is the second, and it is decided at export time rather than at import time. A calendar saved at the lowest detail level produces events with no descriptions on the other side, and there is no way to recover the text later without exporting again.
Recurring events survive an .ics file in most cases, because the repeat rule is part of the format. They do not reliably survive a spreadsheet. Google documents that repeating events imported from a .csv file might not show as a series and will appear instead as a run of one-time events, which matters for anyone tempted to clean up the data in a spreadsheet on the way through.
Notification settings, categories, colours and permissions do not travel in either direction. Neither does the thing that causes the most trouble in a merged calendar, which is the unbooked time around the events. Two accounts merged into one view immediately reveal double bookings and back to back calls with a commute between them, and a calendar that shows travel time as part of the event is where that gets resolved rather than in the export. What the different applications do and do not hold is laid out in this comparison of Mac calendars.
What to change first
Answer the copy or connection question first, because it determines everything else. If both accounts will still exist next month, publish the Outlook calendar and add it to Google by URL, or sign in to both accounts in one desktop calendar and stop transferring anything. If the Outlook calendar is genuinely being retired, do the Save Calendar export at full detail, import into a new empty Google calendar rather than the primary one, and accept that guests and meeting links will not arrive. A Mac calendar that holds both accounts at once is described in Caltimate.
Frequently asked questions
Does exporting from Outlook keep the two calendars in sync?
No. Microsoft states that the export is a snapshot and that later changes in Outlook are not reflected in Google Calendar. For a link that keeps updating, publish the Outlook calendar and add its ICS address in Google Calendar under From URL, which produces a read-only calendar that refreshes.
Where is Save Calendar in Outlook for Mac?
It is not there. Microsoft documents the Mac export as producing an Outlook for Mac Data File with the .olm extension and states that this is the only export option. Google Calendar reads .ics and .csv only, so the Mac route is the published ICS link or the Save Calendar command on a Windows machine.
Will attendees and Teams or Zoom links come across?
No. Google's import documentation states that guests and conference data are not imported. Events arrive as plain entries with a title, a time and usually a location, so meetings that need their invitees intact should stay where they are and be displayed through a connection instead.
Can the Outlook calendar simply be shared with a Gmail address?
Not usefully. Microsoft states that when an Outlook.com calendar is shared with non-Outlook.com users such as Gmail users, the invitation can only be accepted with an Outlook.com or Microsoft 365 account. Publishing the calendar and handing over the ICS address is the route that works with Google.
How quickly does a subscribed calendar update?
Not instantly, and not on a schedule either side guarantees. Microsoft notes that how often a published ICS calendar syncs depends on the recipient's provider. Treat a subscribed calendar as accurate to within hours rather than minutes, and do not rely on it for a meeting that was just moved.
Should the events be imported into the main Google calendar?
Usually not. Importing into a new, empty calendar keeps the transferred events separable, switchable off, and removable in one step if the range or the detail level turns out to be wrong. Mixing them into the primary calendar makes any correction an event by event job.