Quick answer
An ICS file (.ics) is a plain-text file in the iCalendar format, the standard every major calendar app reads: Google Calendar, Apple Calendar, and Outlook. It carries events with their titles, start and end times, time zones, and repeat rules. Open one and your calendar app offers to import the events. The same format also powers calendar subscriptions, where an app follows a hosted ICS feed by URL and picks up changes automatically.
An ICS file is a plain-text file that carries calendar events in the iCalendar format, the lingua franca of scheduling. Google Calendar, Apple Calendar, Outlook, and effectively every other calendar app can read one. When a meeting invite lands in email, when an event page offers "Add to calendar," when a team publishes a schedule feed, the thing moving underneath is ICS.
What's inside one
Open an ICS file in a text editor and it is readable:
| Line | Meaning |
|---|---|
| BEGIN:VCALENDAR | Start of the calendar |
| BEGIN:VEVENT | Start of one event |
| SUMMARY:Team practice | The event title |
| DTSTART;TZID=America/Chicago:20260612T180000 | Start: June 12, 2026, 6:00pm Central |
| DTEND;TZID=America/Chicago:20260612T193000 | End: 7:30pm |
| RRULE:FREQ=WEEKLY;BYDAY=TH | Repeats every Thursday |
| UID:abc123@example.com | Unique ID so apps can match updates to events |
The format dates to 1998 and is standardized today as RFC 5545. The repeat rules deserve their own explainer: see RRULE explained. The time zone field is the one that bites: events written without a proper TZID land an hour off for somebody, which is the most common flaw in hand-made and AI-generated files, covered in can ChatGPT make an ICS file.
File vs link: the distinction that matters
The same format gets delivered two ways, and they behave differently:
An ICS file is a snapshot. Import it and the events are copied into your calendar. If the source schedule changes later, your copy does not. Re-importing a corrected file stacks duplicates next to the originals.
An ICS link is a feed. Apps subscribe to the URL and re-check it: roughly hourly on Apple, every 12 to 24 hours on Google. Events added, moved, or canceled at the source flow to every subscriber without anyone touching a file. This is how calendar subscriptions work, and it is the right delivery for any schedule that can change: team seasons, work rotations, class schedules.
Rule of thumb: a file for a one-time handoff, a link for an ongoing schedule.
Where ICS files come from
- Calendar apps export them. Google Calendar downloads each calendar as a file; Apple Calendar exports via File, Export.
- Email invites are ICS. The .ics attachment on a meeting invite is how the event, its updates, and RSVPs travel between calendar systems.
- Event sites generate them. "Add to calendar" buttons either download a file or hand the app a feed URL.
- You can make one from a schedule. A schedule that exists as pasted text, a spreadsheet, a PDF, or a photo of the break-room printout can be turned into events. Calfeed does this and publishes the result as a hosted feed, so the output is a subscribe link rather than a frozen file. A schedule validator can check an existing file or feed for the time zone and recurrence problems that make imports go wrong.
Quick reference
| Question | Answer |
|---|---|
| File extension | .ics |
| Format name | iCalendar (RFC 5545) |
| Content type | Plain text |
| Read by | Google Calendar, Apple Calendar, Outlook, and most others |
| One-time copy | Import the file |
| Stays updated | Subscribe to a hosted feed URL |