---
title: "ICS to CSV"
description: "Turn a Google Calendar, Apple Calendar or Outlook .ics export into a CSV with one row per event. Times stay exactly as the file states them, recurrence rules are kept as text, and nothing is uploaded."
url: https://findutils.com/convert/ics-to-csv/
category: convert
---

# ICS to CSV

Turn a Google Calendar, Apple Calendar or Outlook .ics export into a CSV with one row per event. Times stay exactly as the file states them, recurrence rules are kept as text, and nothing is uploaded.

**Use this tool:** [ICS to CSV](https://findutils.com/convert/ics-to-csv/)

## Programmatic access

- REST id `ics-to-csv`: POST https://api.findutils.com/api/tools/ics-to-csv/execute (reference: https://findutils.com/api/ics-to-csv/)
- MCP tool `ics_to_csv` on https://mcp.findutils.com (reference: https://findutils.com/mcp/ics-to-csv/)

## Why Use Our ICS to CSV Converter?

A calendar knows everything about your time and shows almost none of it in a form you can add up. Hours per client for an invoice, meetings per month for a report, every event that mentions one project: each of these is a filter on a table, and a calendar app has no table. The .ics export does. It is a plain text list of events, and this page turns that list into one row per event, so the questions become a spreadsheet filter. The whole conversion runs in your browser. A calendar export is a record of who you met and when, which is exactly the kind of file that should not travel to a server for a format change.

## Frequently Asked Questions

### How do I export an .ics file from Google Calendar, Apple Calendar or Outlook?

Google Calendar: open Settings, choose Import & export, and click Export; you get a zip with one .ics per calendar. Apple Calendar: select the calendar and choose File > Export > Export. Outlook desktop: File > Save Calendar, and choose the date range and detail level in the More Options dialog. Outlook on the web: Settings > Calendar > Shared calendars > Publish a calendar gives an ICS link you can download.

### Are the times converted to my local time zone?

No. Each time is written exactly as the file states it, and the timezone column names the zone it was stated in: a TZID such as Europe/Istanbul, UTC for times that end in Z, or empty for floating times. Converting would need the zone rules of the reader's calendar, and a silent guess is worse than a labelled value you can convert in the spreadsheet if you need to.

### What happens to recurring events?

A recurring event is one row, and its rule is written as text in the rrule column, for example FREQ=WEEKLY;BYDAY=TU;UNTIL=20261231. The tool does not expand a rule into every occurrence. A rule without an end has no last occurrence, so any expansion would need a cap, and a capped expansion is a different tool with a different honesty story. Exceptions to a rule that the calendar stored as separate modified events appear as their own rows.

### Why does an all-day event end one day earlier than in the file?

The iCalendar format stores the end of an all-day event as the day after it, so a two-day offsite on the 5th and 6th is stored with an end of the 7th. A spreadsheet reader expects the last day, so the tool writes the 6th. If you convert the CSV back to an .ics with the CSV to ICS tool, the exclusive end is restored.

### Which columns does the CSV have?

The Spreadsheet layout writes summary, start, end, all_day, timezone, location, description, organizer, status, categories, rrule and uid, in that order, with ISO dates and 24-hour times. The Google / Outlook import layout writes Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location and Private, with MM/DD/YYYY dates and 12-hour times, which is the header those calendars accept when you import a CSV.

### Can I open the CSV in Excel, Google Sheets or Numbers?

Yes. Google Sheets and Numbers read the UTF-8 file as it is. Excel on Windows sometimes shows accented characters wrongly in a plain UTF-8 CSV; turn on the Excel BOM option before downloading and Excel reads it correctly. If your Excel expects semicolons, choose the semicolon separator.

### Is my calendar uploaded anywhere?

No. The file is parsed and converted in your browser, and no request carries the calendar text. You can confirm that in the browser's network panel while converting. A calendar export is a record of your meetings, and it stays on your machine.

### What does the skipped count mean?

The file can hold components that are not events: VTODO to-do items, VJOURNAL notes and VFREEBUSY blocks. Those are counted as skipped and named in the notes. An event with no readable DTSTART is also skipped and named, because a row without a start would be unusable. Alarms nested inside an event are metadata and are simply not written.

### Can I convert several .ics files at once?

One file at a time on this page, so the preview always shows exactly what you are about to download. Google Calendar's export zip holds one .ics per calendar; convert each and paste the rows together in the spreadsheet. For a batch, the same converter is on the FindUtils API as the ics_to_csv tool.

### How do I turn the CSV back into a calendar file?

Use the CSV to ICS tool. It reads the same columns this page writes, either layout, and produces an .ics you can import into Google Calendar, Apple Calendar or Outlook. All-day events and locations survive the round trip; times are written back as stated, with the zone stamped on them if you provide one.

### I have several .ics exports. Do I convert each one, or merge them first?

Either works. To keep the calendars apart, convert each file here and paste the rows together in the spreadsheet. To get one table from one file, combine the exports first with the Merge ICS tool, then convert the merged file here. If you want the events as objects for a script instead of rows for a sheet, the ICS to JSON tool reads the same fields.

## Related Tools

- [CSV to ICS](https://findutils.com/convert/csv-to-ics/)
- [Merge ICS](https://findutils.com/convert/merge-ics/)
- [ICS to JSON](https://findutils.com/convert/ics-to-json/)
- [Split ICS](https://findutils.com/convert/split-ics/)
- [CSV to Excel](https://findutils.com/convert/csv-to-excel/)
- [CSV Viewer](https://findutils.com/convert/csv-viewer/)
- [JSON to CSV](https://findutils.com/convert/json-to-csv/)
- [Time Difference Calculator](https://findutils.com/calculate/time-difference-calculator/)
- [Date Difference Calculator](https://findutils.com/calculate/date-difference-calculator/)
- [VCF to CSV](https://findutils.com/convert/vcf-to-csv/)
