An ICS file is a standard iCalendar format that carries event details so different calendar apps can exchange schedules reliably. Adding one to Google Calendar is straightforward once you know the exact steps, and it is helpful whether you are importing a single meeting, subscribing to a shared itinerary, or recovering from a sync problem. This guide explains two reliable methods—drag-and-drop file upload and URL-based subscription—describes what to do if an import fails, and highlights how the resulting events behave in your calendar.
What Is an ICS File and Why It Matters
An ICS file is a plain-text, machine-readable snapshot of calendar data that can include events, to-dos, journal entries, time zones, and alarms. Because it is a standardized format defined in iCalendar (RFC 5545), services such as Google Calendar can import or subscribe to an ICS file and keep event details like start and end times, summaries, locations, and reminders intact. Common use cases include conference schedules, course timetables, company holiday lists, and meeting invitations sent from apps that do not use Google Calendar directly. Unlike a one-time export, a subscription link can refresh automatically when the source updates, which makes ICS files useful for repeatable changes.
How to Import an ICS File by Upload
Desktop Steps
On a computer, open Google Calendar in your browser, click the Settings and actions icon (the cog), choose Settings, and then select the Import & export tab. Choose the file from your device, pick the calendar that should receive the events, and click Import. Google Calendar processes the file and shows how many events were added or updated. This method suits one-off imports where you want events to become part of the target calendar rather than stay linked to an external source.
Mobile Steps
On mobile, the process varies slightly by platform. In the Google Calendar app, tap the side menu, go to Settings, select the correct calendar under Your calendars, and use an import or open-with option if available. On some versions, you may need to open the ICS file in another app such as Files or Downloads, choose an action, and select Google Calendar as the destination. If your device does not present a clear import path, open the file in a browser, save it, then use the desktop steps above for best results.
How to Add an ICS File via Subscription URL
Instead of importing a static copy, you can subscribe to an ICS feed so Google Calendar pulls updates automatically when the source changes. In Settings, open the Import & export tab, click Add next to Subscribe to calendars, paste the ICS URL, assign a calendar, and confirm. Google Calendar then fetches events on a schedule, reflecting additions, time changes, and cancellations without manual re-imports. Subscriptions are ideal for team rosters, public conference programs, or classes that update regularly. Note that you can unsubscribe at any time to stop updates.
Troubleshooting Common Import Issues
If an ICS file fails to import, start by checking the file itself: confirm it is not corrupted by opening it in a text editor to ensure it contains lines such as BEGIN:VCALENDAR and that key timestamps are present. Verify time zones and whether events span midnight, since Google Calendar interprets end times strictly. If the import completes but events appear missing, review the target calendar’s filters and search across all calendars in your account. For subscription errors, check the URL format, ensure the server responds with a valid Content-Type (text/calendar) and allows cross-origin access, and confirm the feed is not blocked by workplace or school policies.
Behavior and Limitations of Imported Events
Imported events respect standard iCalendar properties such as start/end times, recurrence rules, time zones, descriptions, and reminders, though some advanced fields may not map perfectly to Google Calendar’s feature set. Recurring events usually expand into individual occurrences up to platform limits, and all events appear under the calendar you selected during import or subscription setup. Because imported items are separate objects, editing them in Google Calendar does not alter the original ICS source unless you are using a live subscription. Subscribers should know that Google Calendar revalidates feeds periodically, and temporary outages can interrupt updates.
Best Practices and Comparison
Use import for one-time transfers and subscription for ongoing schedules that need to stay current. Keep source files and URLs in a secure, documented location and test a small sample before bulk importing. If you control the source, publish stable URLs and avoid frequent format changes to reduce sync failures.
| Method | Use Case | Update Behavior |
|---|---|---|
| Import upload | One-off transfers, archived itineraries | Static; no automatic updates |
| Subscription URL | Ongoing team calendars, recurring events | Automatic when source changes |