What an ICS file is
An .ics file is defined by IETF RFC 5545 (iCalendar specification). It stores one or more calendar events as plain text — the format every major calendar app uses to send invitations and share schedules. Google Calendar, Outlook, Apple Calendar and meeting invitations from almost any system all read and write it, which makes it the universal way to move an event between calendars.
Inside, the file opens with BEGIN:VCALENDAR and each event sits between
BEGIN:VEVENT and END:VEVENT. An event is a set of properties:
SUMMARY for the title, DTSTART and DTEND for the times,
LOCATION, ORGANIZER, ATTENDEE for each guest, RRULE
for a repeat pattern and DESCRIPTION for the notes. Opening the file in a text editor shows
all of this raw — folded lines and compact timestamps — which is why people look for a
viewer.
How to open an ICS file
- Open the calendar file. Drop the .ics onto the box above, or click to browse. The file is read from your disk by the browser; no copy is sent anywhere, which matters because a calendar is a record of where you were and with whom.
- Read the events. Every event is listed in date order with its title, start and end, location, organiser, guests and any repeat rule. All-day events and recurring events are labelled as such.
- Export to CSV. Download CSV writes one row per event with separate columns for title, start, end, location, guests and notes — ready to open in Excel, Google Sheets or Numbers, or to review a meeting schedule at a glance.
- Or copy the list. Copy all events puts a clean plain-text agenda on your clipboard, and Save as .txt writes the same thing to a file.
What comes out
- The title of every event from
SUMMARY, in date order. - Start and end, formatted as a readable date and time, with all-day events recognised and the time zone named when the file specifies one.
- Location, organiser and the full guest list, with each person's name and email
taken from the
ATTENDEElines. - The repeat rule — "Weekly on mo,we", "every 2 weeks", "Monthly, 12 times"
— turned into a short phrase from the raw
RRULE. - Status and description.
- A CSV export with one row per event and separate columns, plus a plain-text agenda of the whole calendar.
Escaped punctuation in a title or description — \, for a comma, \n
for a line break — is unescaped, so the text reads normally.
What is supported, and what is not
Dates come in three forms and all three are handled. A trailing Z, as in
20260813T090000Z, means the time is in UTC and it is labelled as such. A TZID
parameter, as in DTSTART;TZID=America/New_York:20260813T090000, names a time zone, which is
shown next to the time. A VALUE=DATE form with no time at all, 20260813, is an
all-day event and is labelled "all day" rather than being shown as midnight.
Folding is undone first: iCalendar wraps any line past 75 characters onto continuation lines that begin with a space, and that whitespace is stripped and the line rejoined before parsing, so a long description or a base64 value is not corrupted.
Recurrence is summarised, not expanded. A weekly meeting is shown as one event marked "Weekly", not as 52 separate rows — the repeat rule is described, and the individual occurrences are not generated.
Not shown: to-do items (VTODO), free/busy blocks and journal entries are
not events and are skipped. Alarms (VALARM) nested inside an event are ignored rather than
mistaken for event fields. Times are displayed exactly as the file records them; they are not converted
into your local zone.
Why the calendar is never uploaded
The file is read from your disk and parsed inside your browser. No server takes part, so your calendar never leaves your device.
A calendar export is unusually revealing. It is a record of where you were, when, and with whom — every meeting title, every guest's email address, every location. Handing that to an online converter means handing your movements and your contacts to whoever runs it. Reading it locally means there is nothing to hand over. For the full explanation of how browser-based processing works, see the security page.
What this tool does not do
This is a reader and a converter, not a calendar. Four boundaries:
- It does not add events to your calendar. It reads the file and exports CSV or text; it does not import anything anywhere.
- It does not expand recurring events. A repeat rule is described as one line, not turned into every future occurrence.
- It does not convert time zones. Each time is shown as the file records it, with its zone named, so nothing is silently shifted.
- It does not respond to invitations. There is no accept or decline — it only reads what the .ics contains.
Why people open ICS files
- An .ics will not open — an invitation arrived as an attachment and the computer has nothing associated with the file.
- Checking an invitation — seeing the real time, location and guest list of a meeting invite without adding it to a calendar.
- Auditing a schedule — exporting a calendar to a spreadsheet to count meetings, review a term's timetable or report on time spent.
- Moving between calendars — confirming an export actually contains every event before importing it elsewhere.
- Reading a shared calendar — opening a colleague's exported schedule to find a specific event.
ICS compared with CSV and calendar apps
An .ics is the portable standard for calendar data, one VEVENT per event
as plain text, written by every major calendar. A .csv is a spreadsheet of events, easy
to read and sort but with no agreed columns, so importing one usually means mapping fields by hand. This
tool bridges the two: it reads the standard iCalendar file and gives you the spreadsheet.
If your invitation arrived on an Outlook message, open it with the MSG viewer; on a plain email, use the EML viewer. To read a contact card that came alongside it, use the vCard viewer. To pull every email address out of a guest list you have as text, use the email and URL extractor.
Frequently asked questions
How do I open an ICS file?
Drop it onto this page. Every event is shown in date order with its time, location, organiser and guests, and can be exported to CSV. No app and no account are needed.
How do I convert an ICS to CSV?
Open the .ics here and click Download CSV. Each event becomes one row, with separate columns for title, start, end, location, guests and notes, ready for Excel, Google Sheets or Numbers.
Can it open a calendar with hundreds of events?
Yes. A whole calendar export in one .ics is parsed in full and exported in full. The on-page list shows the first 500 events for speed; the CSV and copy contain every one.
Is my calendar uploaded to a server?
No. The file is read from your disk and parsed inside your browser. Nothing is transmitted, which is exactly what a record of your meetings and their guests needs.
How are event times shown?
Exactly as the file records them. A UTC time is marked UTC, a zoned time shows its zone name, and an all-day event is labelled 'all day'. Times are not converted into your local zone, so nothing is silently shifted.
Does it show recurring events?
Yes, as one event with a plain-language repeat rule such as 'Weekly on mo,we' or 'every 2 weeks'. It describes the pattern rather than expanding it into every future occurrence.
Can it read the guest list of a meeting invite?
Yes. Each ATTENDEE line becomes a guest, with the name and email address the invitation carried, and the organiser is shown separately.
Does it open .ics files with tasks or reminders?
It reads events (VEVENT). To-do items, free/busy blocks and journal entries are not events and are skipped, and alarms inside an event are ignored rather than shown as fields.