Files and data

ICS to CSV converter

Expand recurring calendar events into a date-bounded CSV, with timezone and conversion-loss details.

Runs on your device · No upload

UTF-8 text up to 5 MiB. Date window at most 367 inclusive days; at most 10,000 exported occurrences. Named timezones require an embedded VTIMEZONE. RANGE exceptions, RDATE periods and EXRULE are rejected. A recurrence processing limit prevents unbounded work.

Ready when JavaScript is loaded.

How to use it

  1. Load an .ics file or paste a complete VCALENDAR.
  2. Select the inclusive range of occurrence start dates and the output format.
  3. Convert, review the loss report and timezone notes, then download the CSV.

Recurring events become individual rows

A recurring calendar series can describe an unlimited number of meetings. The date window keeps the export finite. RRULE and RDATE occurrences are expanded, EXDATE exclusions are applied, and individual RECURRENCE-ID changes are respected. The detailed export preserves the event timezone and iCalendar’s exclusive end date.

Choosing Google Calendar columns

The Google format uses Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location and Private headers. All-day end dates become inclusive. Timed entries retain their wall-clock time; choose the matching timezone in the destination calendar. Files with mixed timed-event zones are rejected in this mode because CSV has no per-event timezone field.

CSV cannot preserve alarms, invitations, attachments or an editable recurrence series. Keep the source ICS as the calendar backup. Exported occurrences can become duplicate independent events if you repeatedly import the same date range.

Standards and references

Your input stays in this tab

Files and pasted values are processed in your browser. They are not uploaded, stored in your URL or saved to browser storage. Download the result if you want to keep it. CSV exports are limited to 1,000,000 cells and 20 MiB; large or sparse tables must be split. The site records aggregate page requests as described in the privacy policy.

More tools

Browse every tool