Turn an .ics file into a CSV you can open in Excel, Numbers or Google Sheets. Every event becomes a row. Free, nothing stored.
Sharing these events, not just filing them?
If you are exporting because you need to share these events with people, there is a shorter path. The builder on our homepage turns an event into one link that adds itself to any calendar, stays editable, and reports who added it.
Includes 10 events a month and 50 RSVPs per event at no cost. The free tool below still works if you just need the raw output.
Times are converted to this timezone and written as 2020-01-01 10:11:00, ready for a spreadsheet. All day events are never shifted.
Drag an .ics file here
Your file is parsed and discarded. Nothing is stored.
The CSV has one row per event and a header row, with these columns:
| Column | What it holds |
|---|---|
| title | The event name |
| starts_at | Start time, e.g. 2020-01-01 10:11:00 |
| ends_at | End time, same format |
| timezone | The timezone the times are shown in |
| is_all_day | yes or no |
| location | Address or meeting link |
| description | Event description |
| recurrence_rule | The RRULE, for repeating events |
| uid | The event's unique id |
A spreadsheet is far easier for reporting than a calendar file: totalling hours across a project, auditing what actually got scheduled, sharing a season's fixtures with someone who does not want a subscription, or moving events into another system that imports CSV.
Calendar files store times with an offset, which is correct but awkward in a spreadsheet. Pick a timezone above and every timed event is converted into it and written as 2020-01-01 10:11:00, which Excel, Numbers and Google Sheets all parse as a real date. The default is your own timezone, so a meeting shows the time you actually attended it.
All day events are never converted. They have no time of day, so shifting them across timezones would push them onto the wrong date.
A weekly meeting is stored once with a rule, not as 52 separate events. We export it as one row and put the rule in the recurrence_rule column, so a single recurring meeting does not flood your spreadsheet. If you want to inspect the file first, try the ICS viewer .
Create a working calendar link in under a minute.
No credit card, no trial clock, no catch.


