Convert ics to csv

Free online ICS to CSV converter

Convert calendar events from ICS into editable CSV rows for spreadsheets and data tools.

Convert ICS to CSV online - free

Uploading…
Selected files exceed the 15 MB total limit. Please select fewer or smaller files.

Your file is processed instantly and never stored on our servers.

How it works

  1. 1/3

    Upload your .ics file

    Click to browse to select your file you want to convert or simply drag & drop your file into selected area.

  2. 2/3

    Perform .ics to .csv conversion

    After successful file upload, click to convert when you are ready.

  3. 3/3

    Download converted .csv file

    Conversion result is ready to download.

How to convert ics to csv file

Spreadsheets, databases, and reporting systems often require CSV when a calendar application supplies only an ICS export. Converting the file creates one row per event for filtering, editing, archiving, or importing into software that does not support iCalendar.

What the ICS format is

ICS is the common file extension for iCalendar, a structured plain-text calendar format defined by RFC 5545. Microsoft Outlook, Apple Calendar, Google Calendar, Mozilla Thunderbird, and scheduling systems can create or import it.

ICS files commonly contain VEVENT records with subjects, start and end times, locations, descriptions, attendees, organizers, alarms, time zones, recurrence rules, and unique identifiers. They can also contain VTODO tasks or VJOURNAL entries. Most calendar exports primarily contain events.

What the CSV format is

CSV is a delimited text table: each row represents a record and each column represents a field. Microsoft Excel, LibreOffice Calc, Google Sheets, database tools, and data-analysis software can open CSV files.

CSV makes event data easy to sort, filter, deduplicate, edit in batches, and use in reports. It does not preserve the complete iCalendar data model. Typical columns include Subject, Start, End, Location, Description, UID, RRULE, and TimeZone.

How to convert an ICS file to CSV

For a one-time conversion without installing software, upload the .ics file to the free converter on 101convert.com and download the resulting .csv file. Open the output in a spreadsheet and check dates, times, descriptions, and delimiters before importing it elsewhere.

For private, repeatable, or customized conversions, Python and the icalendar package provide control over the output fields:

  1. Install Python and the parser package:
python -m pip install icalendar
  1. Save this script as ics_to_csv.py:
import csv
import sys
from datetime import date, datetime
from icalendar import Calendar


def text(component, name):
    item = component.get(name)
    if item is None:
        return ""
    value = item.dt if hasattr(item, "dt") else item
    if isinstance(value, (datetime, date)):
        return value.isoformat()
    return str(value).replace("\r", " ").replace("\n", " ")


def timezone(component, name):
    item = component.get(name)
    return str(item.params.get("TZID", "")) if item is not None else ""


with open(sys.argv[1], "rb") as source:
    calendar = Calendar.from_ical(source.read())

fields = [
    "Subject", "Start", "End", "Location", "Description",
    "UID", "RRULE", "TimeZone"
]

with open(sys.argv[2], "w", newline="", encoding="utf-8-sig") as target:
    writer = csv.DictWriter(target, fieldnames=fields)
    writer.writeheader()
    for event in calendar.walk("VEVENT"):
        writer.writerow({
            "Subject": text(event, "SUMMARY"),
            "Start": text(event, "DTSTART"),
            "End": text(event, "DTEND"),
            "Location": text(event, "LOCATION"),
            "Description": text(event, "DESCRIPTION"),
            "UID": text(event, "UID"),
            "RRULE": text(event, "RRULE"),
            "TimeZone": timezone(event, "DTSTART"),
        })
  1. Run the script with the input and output filenames:
python ics_to_csv.py calendar.ics calendar.csv

Open calendar.csv in LibreOffice Calc using File → Open. Select UTF-8 encoding and comma separation if prompted. Excel can use the operating system's list separator instead of a comma, so select the delimiter manually when columns appear in one field.

Quality and compatibility limits

  • Recurring events: The script exports the recurrence rule but does not expand it into separate occurrences. Use a calendar application's export options or recurrence-aware code when each occurrence must become its own row.
  • Time zones: ICS supports UTC, named time zones, and floating local times. CSV has no standard time-zone type; retain the UTC offset and, when available, a separate TimeZone column.
  • All-day events: These normally use dates rather than timestamps. An iCalendar end date is commonly exclusive, so do not automatically treat it as an additional calendar day.
  • Multiple values and related records: Attendees, categories, alarms, recurrence exceptions, and other properties may be flattened or omitted by a simple table export. Add dedicated columns or preserve the original ICS alongside the CSV.
  • Data loss: CSV cannot retain calendar behavior such as alarms, invitations, recurrence logic, and exception relationships. Keep the original ICS as the authoritative calendar copy.
  • Privacy: Descriptions, attendee addresses, organizer information, and meeting URLs may appear in the CSV. Remove sensitive columns before sharing it.

ICS vs CSV: format comparison

How the ICS and CSV formats compare on the properties that matter most for this conversion.

Comparison of the ICS and CSV file formats
Property .ICS vCalendar/iCalendar file .CSV Comma-Separated Values
Plain-text readable Yes Yes
Data types Typed Typed
Nested structures Yes No
Formulas No No
Multiple tables or sheets No No
Typical file size Small Small
Open standard Yes Yes
Best used for Sharing and distribution Data exchange
Introduced 1998 —
Developer Internet Engineering Task Force (IETF) —
MIME type text/calendar text/csv

Frequently asked questions

Is the ICS to CSV converter free?

Yes, converting ICS to CSV on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.

How large can my ICS file be?

You can upload ICS files up to 15 MB and convert up to 100 files at once in a single batch.

What happens to my uploaded files?

Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.

Do I need to install any software to convert ICS to CSV?

No. The ICS to CSV conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.

Did the conversion fail?

In most cases, the cause is an incorrect file format. Please upload a valid ICS file for this ICS to CSV conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.

Additional formats for
ics file conversion

Reverse conversion

Convert to csv from
other formats

Share on social media: