Glossary

What Is an ICS (iCalendar) File?

An ICS file is an iCalendar file, the plain-text calendar format defined in RFC 5545. It stores events, tasks, reminders, and time zone rules. Google Calendar, Outlook, Apple Calendar, and Thunderbird all read and write it, which is why an ICS file is the usual way to move a calendar from one app to another or to send a meeting invite.

TL;DR

An ICS file is a plain-text iCalendar file that every major calendar app can read. Convert it to CSV when you need the events as rows in a spreadsheet.

2009
the year RFC 5545 replaced the original 1998 iCalendar spec, RFC 2445

ICS File Extensions and MIME Type

Most files use the .ics extension. You may also see .ical and .icalendar, which are the same format, and .ifb, which holds free/busy data only. The MIME type is text/calendar, so a server or email client knows to hand the file to a calendar app.

A .vcs file is the older vCalendar 1.0 format from 1996. It looks a lot like iCalendar, but the rules for repeats, time zones, and text encoding differ. Many apps still import it, and some phones still export it.

What Is Inside an ICS File

An ICS file is a set of blocks, each opened with a BEGIN line and closed with an END line. The whole file sits between BEGIN:VCALENDAR and END:VCALENDAR. Inside you find these components:
  • VEVENT: a meeting, appointment, or all-day event.
  • VTODO: a task, with a due date instead of an end time.
  • VJOURNAL: a dated note with no time slot.
  • VALARM: a reminder, nested inside an event or a task.
  • VTIMEZONE: the UTC offset and daylight saving rules for a named zone.
Each component holds properties, one per line, written as NAME:value. These are the ones you meet most:
  • DTSTART and DTEND: when an event starts and ends. DUE: when a task is due.
  • SUMMARY, LOCATION, and DESCRIPTION: the title, the place, and the notes.
  • UID: a unique ID, so an app knows an updated event is the same event.
  • RRULE, EXDATE, and RECURRENCE-ID: the repeat rule, the skipped dates, and the single dates that were changed.
  • TZID: the time zone a date belongs to.
  • ATTENDEE and ORGANIZER: who is invited and who sent the invite, usually as mailto: addresses.

Here is a short ICS file with one weekly meeting:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp//Calendar 1.0//EN
BEGIN:VEVENT
UID:20261102T090000-standup@example.com
DTSTAMP:20261031T120000Z
DTSTART;TZID=America/New_York:20261102T090000
DTEND;TZID=America/New_York:20261102T091500
RRULE:FREQ=WEEKLY;BYDAY=MO
SUMMARY:Team standup
LOCATION:Room 4B
ORGANIZER:mailto:anna@example.com
ATTENDEE:mailto:mark@example.com
END:VEVENT
END:VCALENDAR
A real export would also carry a VTIMEZONE block for America/New_York. It is left out here to keep the example short.

What Creates and Opens ICS Files

Google Calendar exports each of your calendars as an .ics file, packed in a ZIP archive, from Settings, Import and export. Outlook saves a calendar or a single meeting as .ics and opens one as a new calendar or event. Apple Calendar on Mac and iPhone imports .ics files and can subscribe to an .ics link that updates on its own. Thunderbird reads and writes them in its built-in calendar. Email invites usually carry an .ics attachment too, which is how a meeting sent from Outlook shows up as an event in Gmail.

Recurring Events and Time Zones

A repeating event is stored once, not once per date. The RRULE line holds the pattern, such as FREQ=WEEKLY;BYDAY=MO for every Monday, with an optional COUNT or UNTIL to end the series. EXDATE lists dates that were skipped. If one meeting in the series moves, the file adds a second VEVENT with the same UID and a RECURRENCE-ID that points to the original date. An app that ignores RECURRENCE-ID will show that meeting at its old time.
Times come in three forms. A value that ends in Z is UTC. A value with a TZID is local time in a named zone such as America/New_York, and the VTIMEZONE block tells the app how far that zone is from UTC and when daylight saving starts. A value with neither is floating time, the same clock time wherever you are. Mix these up during a move between apps and events shift by a few hours.

How to Open an ICS File or Convert It to a Spreadsheet

To read an ICS file, import it into any of the calendar apps above. To work with the events as rows, for a report, a timesheet, or a cleanup, convert the file to CSV and open it in Excel or Google Sheets. For one file, the free ICS to CSV converter online runs in your browser and does not upload the file anywhere. It writes VEVENT and VTODO items to CSV, puts the TZID in its own column, and keeps the RRULE as text or, if you choose, expands repeats over a one-year window.

For whole folders, a desktop ICS to CSV converter software works offline on Windows. It merges a batch of .ics and .vcs files into one CSV and keeps attendees and categories.

What you'll need
  • ICS to CSV Converter: merges .ics and .vcs files into one CSV on Windows
  • A Windows PC, version 10 or 11
  • The ICS or VCS files you want to convert

Lerninhalte

Related Terms