FormatDrop
How-To Guide

How to Convert ICS to CSV

ICS (iCalendar) is the standard format for calendar files — used by Google Calendar, Apple Calendar, Outlook, and every modern calendaring system. CSV is the universal spreadsheet format. Converting ICS to CSV is useful for analyzing event data, building reports from calendar exports, or migrating between systems that don't share calendar formats directly.

Step-by-step instructions

  1. 1

    Upload your ICS file

    Select your .ics file. Calendar exports from Google Calendar (Settings → Import & Export), Apple Calendar (File → Export), or Outlook (File → Save Calendar) all work.

    Go to converter
  2. 2

    Choose CSV as output

    Select CSV. Each event becomes one row. Standard fields (Subject, Start, End, Location, Description, Organizer) become columns.

  3. 3

    Analyze in Excel or Google Sheets

    Open the CSV in Excel for filtering by date range, calculating total meeting hours, or analyzing meeting patterns. Pivot tables work great for time-spent-per-attendee reports.

Why convert ICS to CSV?

ICS is for calendars; CSV is for data analysis. Converting between them unlocks the data hidden inside your meeting history.

Your files never leave your device

FormatDrop runs the conversion engine entirely inside your browser using WebAssembly. No file upload. No server. Nothing stored. You can verify this by opening DevTools → Network tab and watching: zero upload requests.

Frequently asked questions

How do recurring events convert to CSV?
Most converters expand recurring events into individual instances (one row per occurrence within a date range). Some keep them as a single row with the recurrence rule as a column. Choose based on whether you need analysis (expanded) or migration (rule preserved).
Python script for ICS to CSV?
Use icalendar: `from icalendar import Calendar; import csv; cal = Calendar.from_ical(open('input.ics').read()); writer = csv.writer(open('output.csv','w')); for event in cal.walk('vevent'): writer.writerow([event.get('summary'), event.get('dtstart').dt, event.get('dtend').dt, event.get('location')])`.
Will time zones convert correctly?
Depends on the tool. Some convert to UTC; others preserve the original time zone strings; some convert to the local time zone. Verify by checking a few events. For accurate analysis, normalize to UTC during conversion.
Convert ICS to CSV Now — Free

No account. No upload. Works in any browser.