How to add an ICS file to Google Calendar
Google Calendar is the one calendar that won't open an .ics file when you double-click it, because there's no desktop app to hand the file to. The file has to be imported through the settings. To add an ICS file to Google Calendar, open Google Calendar in a browser on a computer, click the settings cog, then Settings, then Import and export, choose the file, pick the calendar it should go into, and click Import.
That's the whole method, and if you only wanted the click path you can stop there. The rest of this page is what Google's own instructions leave out: doing it on a phone, coming from Outlook or Apple Calendar, what gets lost on the way in, what each error message means, and how to get the events back out again if you change your mind.
If the file is going into a different calendar altogether, how to open an ICS file covers Outlook, Apple Calendar and phones.
Importing an ICS file on a computer
Open Google Calendar in a browser. Click the settings cog in the top right, then Settings. In the left-hand menu, click Import and export. Click Select file from your computer, find the .ics file, and open it.
Before you click Import, look at the Add to calendar dropdown. This is where the events will land, and it defaults to your main calendar.
I'd change that. Go back a step, create a new calendar first (Settings, then Add calendar, then Create new calendar, give it a name like "Conference import"), and then import into that. Every event from the file sits in its own calendar with its own tick box in the sidebar. You can hide the lot with one click, and if the import turns out to be wrong, deleting that calendar removes every event it brought in. Import straight into your main calendar and you'll be deleting 40 events one at a time.
Then click Import. Google reports how many events it processed, and they appear straight away.
Uploading an ICS file to Google Calendar on Android or iPhone
There is no import screen in the Google Calendar app on either platform. Google says so in its own instructions: importing is done on a computer. So a file saved to your phone's storage has nowhere to go.
What usually works instead is opening the attachment from the email it arrived in. In the Gmail app, tap the .ics attachment and Google Calendar should open with a preview of the event and a Save button. That route adds one event at a time and it should behave the same on Android and iPhone.
For a file with many events, or one that didn't arrive by email, the answer is a computer. Import it there, and because Google Calendar syncs through your account, the events turn up on the phone on their own a minute or two later.
From Outlook
If the events are coming out of Outlook, export them as an .ics file first, then import as above.
In classic Outlook, go to the calendar, click File, then Save Calendar. Before saving, click More Options. Date Range lets you choose how much to export, and Whole calendar can produce a large file that takes a while. The Detail dropdown matters more than it looks: the lowest setting exports availability only, so every event arrives in Google Calendar titled "Busy" with nothing else in it. Pick Full details if you want the titles and locations.
Save the file, then import it into Google Calendar. Two things to know: Google caps imports at 1MB, so a long date range from a busy calendar may need splitting into a few exports, and if you want the Outlook calendar to keep updating in Google, that's a subscription rather than an import, covered below.
From Apple Calendar
On a Mac, click the calendar's name in the calendar list on the left, then File, then Export, then Export again. That saves an .ics file of everything in that calendar. Import it into Google Calendar as above.
Import or subscribe?
Importing copies the events as they stood on the day. Nothing connects them back to wherever they came from, so if the organiser moves something, your copy stays where it was.
Subscribing is different. If you've been given a link to a calendar rather than a file (a public Google calendar, or an .ics feed from an events site or a booking system), go to Other calendars in the left sidebar of Google Calendar, click the plus, then From URL, paste the link and click Add calendar. That calendar then updates itself as the source changes. Google says this only works when the other person's calendar is public, and, as with importing, it can only be set up from a computer.
The short version is that a file you've been sent gets imported, and a calendar somebody else keeps up to date is one to subscribe to, so it goes on being right.
What doesn't come across
An .ics file can carry more than Google Calendar will accept, and Google is upfront about some of it.
Guests and conferencing details are dropped on import. If the event came with a Google Meet or Zoom link in the conferencing field, it won't be in your copy. A link written into the description survives, which is why event emails tend to put the join link there.
Colours don't come across; events take the colour of whatever calendar you imported them into.
Recurring events sometimes arrive as a run of separate single events. Google's own troubleshooting page says some applications export repeating events as individual single events, and once that's happened there's nothing to do at the Google end. If it matters, re-export from the source with the series intact.
And the one that catches people out after the fact: events an hour out. That's the file, not Google. The times were written without a timezone, or the file was made in a different timezone from the one your Google Calendar is set to. The where .ics files go wrong section on our generator page explains why.
When the import fails
Google gives a handful of messages, and each one means something specific.
"Processed 0 events" nearly always means you clicked Import a second time. The events went in on the first click, and Google skips events it already has. Check the calendar before you try again.
"Processed 12 of 40 events" means 28 entries in the file were something Calendar couldn't read. The fix is at the source: re-export from Outlook, Apple Calendar or wherever the file came from, and try again. If the file was made by hand, open it in a text editor and look for an event with a missing END line or a malformed date.
"Google Calendar is temporarily unavailable" is usually the file being over Google's 1MB limit, which is a strange way of saying so. Export in smaller date ranges and import them one at a time.
"The connection to the server was reset" usually means the file's structure is wrong, the header or footer lines in particular. Same fix: re-export, or check the file in a text editor.
Nothing at all, and the file won't even select, means it isn't really an .ics. Windows hides file extensions by default, so a file called invite.ics.txt shows as invite.ics and Google won't take it.
Getting the events out again
If you imported into a new calendar as suggested above, hover over its name in the left sidebar, click the three dots, then Settings and sharing, scroll to the bottom and click Delete. Every event the file brought in goes with it.
If you imported into your main calendar, they're mixed in with everything else, and it's one event at a time. Which is the argument for the new calendar.
If you're the one sending calendar files out, bear in mind that each recipient's copy is frozen on the day they import it. Add-to-calendar links in HubSpot event emails covers how to send a file that people can actually use, and our free ICS file generator makes one that Google Calendar accepts first time, timezone included. EventEngine builds it from the HubSpot event record, so the file matches whatever the event currently says.
Questions that come up
Why does Google Calendar say "Processed 0 events"?
Because the events are already there. This message almost always follows a second click on Import; Google took the file the first time and skips events it already holds. Look at the calendar before trying again.
Will importing the same ICS file twice create duplicates in Google Calendar?
No. Each event in the file carries a unique ID, and Google recognises events it has already imported and skips them. You get duplicates only if the file was regenerated with new IDs, which some tools do every time they export.
How do I import an Outlook calendar into Google Calendar?
In classic Outlook, go to the calendar, click File, then Save Calendar, set the date range and choose Full details, and save the .ics file. Then in Google Calendar on a computer, go to Settings, then Import and export, select the file, choose a destination calendar and click Import.
Does an imported ICS calendar update in Google Calendar?
No. An import is a copy of the events on the day you imported them. If you want a calendar that stays current, add it by URL under Other calendars instead, which subscribes to the source and updates as it changes.
How do I remove events I imported into Google Calendar?
If they went into their own calendar, open that calendar's Settings and sharing and click Delete at the bottom, which removes every event in it. If they went into your main calendar, they have to be deleted one at a time.
Sep 18, 2026, 3:10:31 PM