Turn an .ics calendar file into a clean CSV you can open in Excel, Google Sheets or Numbers. Choose the columns, expand repeating events into real dates, convert the times to any time zone and download. Your calendar never leaves your browser.
Last updated:
Your calendar stays on your device. Nothing is uploaded.
No calendar loaded
Preview
Advertisement
Advertisement
How to use the ICS to CSV Converter
Add your calendar: drop one or more .ics files on the box, click to choose them, or paste the iCalendar text. A sample calendar is loaded so you can try it first.
Choose a column layout: Custom lets you tick exactly the fields you want; Google Calendar or Outlook gives the column names those apps expect for import.
Set time zone and formats: keep each event's own time zone or convert everything to yours, UTC or any zone, and pick date and time formats.
Decide on repeats: leave Expand repeating events on to get one row per occurrence within the From / To dates, or turn it off to get one row per event with its repeat rule.
Check the preview and click Download CSV (or Copy CSV) and open the file in Excel, Google Sheets or Numbers.
What is inside an .ics file?
An .ics file is plain text in the iCalendar format defined by RFC 5545. Every appointment is a VEVENT block made of property lines. The converter reads these properties and turns each one into a spreadsheet column:
iCalendar property
Example
CSV column
SUMMARY
SUMMARY:Weekly team sync
Title / Subject
DTSTART, DTEND
DTSTART;TZID=America/New_York:20260302T100000
Start date, Start time, End date, End time
DTSTART;VALUE=DATE
DTSTART;VALUE=DATE:20260320
All day = Yes (no times)
DURATION
DURATION:PT1H30M
End time (calculated), Duration (minutes)
LOCATION, DESCRIPTION
LOCATION:Room 4B\, 20 King St
Location, Description (escapes such as \, and \n are decoded)
Repeats ("Every month on the 1st Friday, 6 times") or one row per date
EXDATE, RECURRENCE-ID
EXDATE;TZID=…:20260310T070000
Deleted or moved occurrences are skipped or replaced
CATEGORIES, STATUS, URL, UID
CATEGORIES:Work,Travel
Categories, Status, URL, UID
Long lines in .ics files are "folded" onto several lines that start with a space; the converter joins them back together before reading, so long descriptions arrive intact.
Time zones and repeating events
A time in an .ics file can be in three forms: UTC (ending in Z), local with a time zone (TZID=Europe/London), or floating (no zone, meaning "this wall-clock time wherever you are"). Outlook often writes Windows zone names such as "Eastern Standard Time"; these are mapped to their IANA equivalents (America/New_York), and custom zone definitions in the file are used as a fallback with a warning.
Repeating events are expanded in the event's own time zone, the way calendar apps do it, so a 10:00 New York meeting stays at 10:00 New York time after the clocks change in March, and its UTC time moves by an hour. Supported rules include daily, weekly with several days, monthly by date or by "2nd Tuesday" / "last Friday", yearly, intervals (every 2 weeks), COUNT, UNTIL and BYSETPOS. Rules that repeat hourly or by week number are kept as a single row with the rule text.
Tips for a clean spreadsheet
Billing or time tracking: add the Duration (minutes) column, expand repeats over the month you need, then sum the column in Excel.
Moving events to another calendar: use the Google Calendar or Outlook layout. Both expect US dates (MM/DD/YYYY) and 12-hour times, which the layouts set for you.
Sorting and filtering: the Spreadsheet layout writes ISO 8601 date-times (2026-03-14T09:30:00-04:00) that sort correctly as text and that Excel and Sheets recognize.
Several calendars: select multiple .ics files at once and add the Calendar / file column to see where each row came from.
On a computer open Google Calendar, click the gear icon > Settings > Import & export > Export. Google downloads a .zip with one .ics file per calendar; unzip it and drop the .ics files here. For a single calendar you can also use Settings for my calendars > (calendar) > Export calendar.
How do I export my Outlook calendar to Excel?
Save the Outlook calendar as an .ics file (in Outlook for Windows: File > Save Calendar, or share it as iCalendar), then convert it here and open the CSV in Excel. Pick the Outlook import CSV layout if you plan to import the file back into Outlook later.
What happens to repeating events?
An .ics file stores a repeating event once with a rule such as FREQ=WEEKLY;BYDAY=MO. With Expand repeating events on, the converter calculates every occurrence between your From and To dates, skips deleted dates (EXDATE) and uses moved occurrences (RECURRENCE-ID), so each meeting becomes its own CSV row. Turn it off to keep one row per event and see the rule in plain English in the Repeats column.
Why do the times in my CSV differ from my calendar app?
Each event in an .ics file carries its own time zone, or UTC. Choose "My time zone" under Show times in to convert every event to the zone your calendar app displays. "As written in the file" keeps each event in the zone it was created in.
Why does an all-day event show the same start and end date?
In the iCalendar format the end date of an all-day event is exclusive: a one-day event on March 5 is stored as March 5 to March 6. The converter shows the inclusive last day, which is what Google Calendar and Outlook expect in their CSV imports and what people expect in a spreadsheet.
Will Excel open the CSV correctly?
Yes. The file is saved as UTF-8 with a byte order mark so Excel shows accents and emoji properly. If your Excel uses a comma as the decimal separator (common in Europe), choose the semicolon separator so the columns split correctly.
Is my calendar uploaded anywhere?
No. The .ics file is read and converted by JavaScript in your browser. Nothing is sent to a server, so private appointments and attendee emails stay on your device.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.