ICS Calendar to CSV Converter
Paste or drop an .ics (iCalendar) file exported from Google Calendar, Outlook, or Apple Calendar to extract every event into a CSV: summary, start, end, location, description, and UID, one row per event. Handles multiple VEVENT blocks, all-day events, timezone-qualified times, and iCalendar's backslash-escaped text. Everything runs locally in your browser.
Reviewed by Vincenzo Manto, Founder & Lead Developer · Last updated September 27, 2026
How it works
- 1
Export your calendar as an .ics file (Google Calendar, Outlook, and Apple Calendar all support this).
- 2
Paste the .ics text or drop the file into the input box.
- 3
The tool parses every BEGIN:VEVENT...END:VEVENT block into one CSV row.
- 4
Copy the CSV or download it to open in a spreadsheet.
Why convert an ICS calendar to CSV?
Calendar exports come as iCalendar (.ics) files, which are great for importing into another calendar app but hard to review, filter, or share as a simple list. Converting to CSV turns your events into a table you can sort, filter, or paste straight into a spreadsheet or report.
A hand-rolled, privacy-first ICS parser
This tool includes its own small iCalendar parser that handles line folding, VEVENT block splitting, and property escaping without any external library, so a calendar full of personal appointments never has to be uploaded anywhere to be converted.
Frequently asked questions
Does it handle all-day events correctly?
Yes. All-day events use a date-only DTSTART/DTEND (e.g. VALUE=DATE:20260315), which the tool recognizes and formats as a plain date rather than a date-time.
What about events with a timezone (TZID) instead of UTC?
The tool extracts the raw local time and notes the timezone identifier alongside it (e.g. 2025-01-01T09:00:00 (Europe/Rome)) since converting between timezones reliably requires a full timezone database, which this lightweight parser intentionally avoids.
Will special characters or line breaks in my event description break the CSV?
No. The parser un-escapes iCalendar's backslash-escaped commas, semicolons, and newlines, and the CSV output correctly quotes any field that itself contains a comma or newline.
What if a calendar entry spans multiple lines in the .ics file?
The parser un-folds RFC 5545 continuation lines (a line starting with a space or tab continues the previous line) before extracting any property, so long descriptions or locations are reassembled correctly.
Is my calendar file uploaded anywhere?
No. Parsing happens in your browser with JavaScript, so your calendar data never leaves your device.