Convert ICS to CSV Online

Free Online ICS to CSV Converter

Free online ICS to CSV converter. Paste iCalendar text or add a .ics file and every event becomes a row with Summary, Start, End, Location and Description columns. It runs in the browser, so nothing is uploaded.

Calendar tools by OnlinePCApps since 2013

No upload Many events Five columns Free
0
Bytes uploaded
CSV
Opens in any sheet
0
Files stored
$0
Free, always
Why convert ICS to CSV

Online ICS to CSV Converter for Calendars and Timetables

A .ics file suits a calendar app and tires a human reader. The free online ICS to CSV converter lays the same events out as rows to sort, total and share.

Analyze Time in a Spreadsheet

A work calendar as a sheet answers questions a calendar app hides, like how many hours went to meetings, which weeks ran heavy and where the gaps sat. As rows of events the numbers add up and sort with a click.

Meeting time, added up.

Import Events Elsewhere

Another calendar, a planner or a report that expects a table cannot load a raw .ics, but it can load a CSV of events. That makes the CSV the bridge for a schedule moving between systems.

A schedule a table can take.

Turn a Calendar Into a Timetable

A class schedule or a project calendar works better as a timetable than as a calendar grid. Every event on its own row, with a start, an end and a place, builds the timetable a team or a class can share and print.

One event, one row.
How it works

Convert ICS to CSV Online in Three Steps

1

Paste or Add the ICS

Use the ICS Payload box for pasted iCalendar text, or press Upload to add a .ics or .txt file. Exports from Google Calendar, Outlook and Apple Calendar all fit, holding one event or a year of them.

.ics CSV events
2

Check the Parsed Events

The Parsed Events table builds itself as text is typed, with Summary, Start Time, End Time, Location and Description columns beside a Total count. The Raw CSV view swaps in the text itself. Dates appear as the file spells them, like 20260404T103000Z.

events.csv
3

Copy or Download the CSV

Copy CSV sends the text to the clipboard, and Download CSV saves a calendar events file. Open it in Excel, Google Sheets or any planner with a CSV import. The source .ics is never touched, so it can be parsed again at any time.

A spreadsheet One row per event
Five columns Summary to Description
One file Copy or download the CSV
Need it faster?

Desktop ICS to CSV Converter for Many Calendars

The online ICS to CSV converter takes one .ics file or one paste at a time. For a stack of calendars, a script or a desktop converter fits better.

Get Desktop Version Free trial · Windows 7 to 11
What the free tool does

What the Online ICS to CSV Converter Does

Converting an ICS means turning every VEVENT block into a table row. The online ICS to CSV converter does that work inside the browser tab.

One File, Many Events

One .ics can carry a full calendar, with a BEGIN and END pair around every event. Every pair turns into a row, so a block of raw text ends up as an appointment list that sorts and counts.

Five Fixed Columns

The header never varies: Subject/Summary, Start Time, End Time, Location, Description. A block with neither a title nor a start time is dropped.

Dates as the File Writes Them

Start and end values are copied exactly as the file holds them, like 20260404T103000Z for UTC or 20260415 for an all-day event. They are not turned into a spreadsheet date, and a TZID tag is not carried over.

Table View, Raw CSV and Total

Parsed Events shows the Total beside a table, and the Raw CSV switch swaps in the plain text. Double quotes wrap all values, which keeps a comma inside its own cell.

Calendar to spreadsheet, iCal to CSV and calendar to Excel all name one job, and the converter above does it without touching the source .ics.

Reference

Online ICS to CSV Converter Results, Case by Case

A calendar carries more fields than a flat sheet can use, so the tool keeps five. The cases run from ones handled cleanly to ones left out.

The caseResultWhat happens and why
Many eventsrow per eventA VEVENT block, from BEGIN to END, makes one CSV row.
Fieldsfive columnsSummary, start, end, location and description. Organizer, status and attendees are not exported.
Timezoneas writtenThe online ICS to CSV converter keeps the value text. A TZID tag is dropped, so check the zone in the .ics itself.
All-daya plain dateShows as a date like 20260415. The end is the day after the event stops, which is how iCalendar writes it.
Recurringone rowA repeating event is one row with its first date. The rule is not expanded into dated occurrences.
Exceptionsnot appliedExcluded dates are not applied, since no rule is expanded.
Escaped textas typedA backslash-escaped comma or line break stays as typed. Values are double-quoted, with any inner quote doubled. The post Why CSV files break and what they never tell you covers wider CSV traps.
Folded linesnot rejoinedA value the calendar wrapped onto a second line stays split, so it can come out short. Background on odd text lives in Character encoding explained and why text arrives broken.
Reminderslast one winsA reminder inside an event can carry its own DESCRIPTION line, and the last one replaces the event description.
Source file.ics .txtPasted text or an uploaded file both work. A block must hold a title or a start time to count as a row.
Outputcalendar events fileCopy CSV puts the text on the clipboard, while Download CSV saves calendar-events plus a time stamp as the file name.
Where it runson the deviceThe calendar is parsed in the browser, so nothing is uploaded.

How an ICS Becomes a CSV

An ICS file is iCalendar text, the standard laid out in RFC 5545. A calendar runs from a BEGIN to an END line, and inside it every event is its own block, from BEGIN VEVENT to END VEVENT, carrying a SUMMARY for the title, a DTSTART and DTEND for the times, plus LOCATION, DESCRIPTION, ORGANIZER and more. Turning that into a CSV gives every event a row and every property a column, and two parts of it deserve care. The first is time. A start can carry a named timezone, sit in UTC with a trailing Z or float as a plain local time with no zone at all, and the three mean different moments. An all-day event is a date with no time, and its end marks the day the event stops, one past the last day it covers. The second is repetition. A recurring event is stored once, as a single event holding a rule like every weekday until a date, not as a list of every occurrence. The online ICS to CSV converter keeps five fields, Summary, Start, End, Location and Description, and copies the date text exactly as the file holds it. It does not expand a rule, reformat a date or carry a timezone tag. Excel shows a value like 20260404T103000Z as text, so a DATE and TIME formula turns it into a real date. A long line that the calendar broke in two stays broken. The references below define the standard.

Honest comparison

Online ICS to CSV Converter vs a Calendar Export

Both get events into a table. The split is a general CSV from any .ics against one app's own export.

Point of comparison This tool Online ICS to CSV converter On the device Calendar export Loaded into an outside account
Where the events go Parsed on the device Held in the account
Price and caps Free with no sign-up Free tier often capped
Any .ics from anywhere Any .ics from any app Only its own calendar
Expand a repeating event One row, rule not expanded Expanded server-side
The exact column layout Five fixed columns Its own exact headers

A calendar app export wins when the events already live in that app and its own exact CSV headers are the goal, since it can expand recurrences on its side. The online ICS to CSV converter wins for any .ics from any source, parsed in a tab into a general CSV, ready to clean before it goes anywhere. Online file tools and whether yours uploads goes deeper on where a file goes.

Why no upload

Online ICS to CSV Converter Privacy and Data Handling

The browser opens the .ics with its file reader and works through it in JavaScript, right on the machine, so every event stays where it started. Nothing is handed off to a server to get the CSV.

A calendar lays out where a person will be and who they meet, with names, locations and private notes in every event. An upload-based tool would ship the entire schedule off to read it, far more risk than a plain format change should carry.

1. Open the browser tools at the Network tab
2. Clear the log and let it record
3. Convert an ICS with the panel above
→ Nothing uploads. The events were read on the page itself.
0
Bytes uploaded
0
Files stored
0
Accounts required
0
Watermarks added
Alternatives

Online ICS to CSV Converter Alternatives

Every option here moves events out of a calendar and into a table or another tool. Setup, reach and privacy are where they differ.

Google Calendar

Google Calendar imports a CSV, and exports events as .ics.
It knows its own exact column headers.
Limit: Reaches only events stored in a Google account.

Outlook

Outlook moves a calendar in and out through a CSV of its own.
It suits anyone whose day already runs in Outlook.
Limit: Uses its own headers, so a remap may be needed.

A Small Script

A script leans on an iCalendar library to parse and expand events.
It earns its keep on a job that runs again and again.
Limit: Needs code written first, then run.

A Calendar View

A viewer opens a .ics to read the events on screen.
It shows a calendar without a spreadsheet.
Limit: Shows events but gives no table to sort and count.

A Google export, a script and a viewer deal with events, but all three sit behind an account, a terminal or a screen. The online ICS to CSV converter above accepts any .ics and returns a plain CSV.

Before converting

Three Things to Know Before Using an Online ICS to CSV Converter

Keep these in mind and the export comes out cleaner.

Mind the Timezone

A time can carry a zone, sit in UTC or float with no zone at all, and the CSV keeps only the value. A trailing Z means UTC. A value without Z is local to the calendar, so check the .ics before comparing across timezones.

Recurring Is One Row

A repeating event is stored once, as a rule, so it lands as a single row. The online ICS to CSV converter does not expand the rule, so a weekly meeting shows once, with the date of its first occurrence.

All-Day Ends the Next Day

An all-day event marks its end as the day after the last day it covers, which the format calls an exclusive end. A one-day event on the fifteenth shows an end of the sixteenth, so treat the end as where the event stops, not its final day.

The desktop edition

Desktop ICS to CSV Converter for Large Calendars

The online ICS to CSV converter works on one .ics file or paste per pass, which suits the file in hand. Joining a folder of calendars, or expanding a rule across years, is script or desktop work.

On this pageone file at a time
A scriptyears of occurrences
Merge Many Calendars

A folder of separate .ics files is read together and written to one CSV, so events from several exports land in a single sheet.

Deep Expansion

A rule that repeats for years fans out into thousands of dated rows, with excluded dates removed, more than a browser tab holds at once.

A Scheduled Job

A script runs on a schedule, so a nightly calendar export is turned to a CSV and dropped into a report without anyone opening a page.

Common questions

Online ICS to CSV Converter Questions

Put your iCalendar text in the ICS Payload box, or choose Upload and add a .ics file. The Parsed Events table builds itself as you type and shows a Total. Copy CSV or Download CSV saves the output. To carry the CSV on into JSON, try the online CSV to JSON converter.
Load a .ics file or paste its text, glance over the table, then hit Download CSV. No convert button exists because the table refreshes the moment the text parses, and the source file is left alone.
No. The browser reads the .ics with its file reader and processes it in JavaScript locally, so no event ever leaves the machine. A calendar is sensitive by nature, mapping out where someone will be and who is in the room.
Always five, in a fixed order: Subject/Summary, Start Time, End Time, Location and Description. Double quotes wrap every value, so a comma inside a description does not split the cell. If the calendar app expects other headers, rename them in a sheet before importing.
Start and end values are copied exactly as the file writes them, like 20260404T103000Z for UTC. A TZID tag is dropped and no zone conversion happens. A trailing Z means UTC, while a value without it is local to the calendar. To check a Unix time inside the file, use the online timestamp converter.
Build it with the DATE and TIME functions. For a value like 20260404T103000Z in cell B2, use DATE(LEFT(B2,4), MID(B2,5,2), MID(B2,7,2)) + TIME(MID(B2,10,2), MID(B2,12,2), MID(B2,14,2)), then format the cell as a date and time. For an all-day value like 20260415, use the DATE part alone. For XLSX or ODS output, try the online Excel converter.
An all-day event shows as a plain date with no time, like 20260415. Its end is the day after the event stops, which iCalendar calls an exclusive end, so a one-day event on the fifteenth shows an end of the sixteenth in your CSV.
A repeating event is stored once, as a rule like every weekday until a date, and your CSV keeps it as one row. The converter does not read that rule or expand it into dated rows, so a weekly meeting shows once, with its first date. Excluded dates are not applied either.
Yes. A .ics can hold a full calendar, with a BEGIN and END pair around every event. All the pairs become rows, and Total reports how many were found in your file. A block with no title and no start time is skipped.
No. The CSV has five columns, so your organizer, status, attendees, categories and unique ID stay in the .ics. If you need them, check the .ics itself. Two exports that need a side by side check go through the online text diff.
Double quotes wrap every value, so a comma in your description stays put. A line break or comma that iCalendar escapes with a backslash stays as typed, since the converter does not unescape it. A long description that your calendar folded onto a second line is not rejoined, so it can come out short. The post Character encoding explained and why text arrives broken digs into the cause.
Yes. Excel and Google Sheets open it directly, and a planner with a CSV import can take it too. Check that your column names match what the destination expects, since headers differ between apps.
Your calendar app can export one: Google Calendar from Settings, Outlook as an .ics file, and Apple Calendar through File then Export. A shared invite also arrives as a .ics attachment.
Yes. Paste your text into the ICS Payload box, and the placeholder there sketches the shape, from BEGIN:VCALENDAR to END:VCALENDAR. Clear Input empties the box. Upload takes .ics and .txt files.
Not on this page. Going the other way, a sheet back into a .ics, is a different task, since your columns have to be mapped onto event fields and dates first. This converter runs one direction. Contact lists have their own page, the online vCard to CSV converter.
No. Your .ics is only parsed and never written back. The CSV arrives as a fresh download, so the same calendar can be run again later.
Yes. A phone browser runs the same parser as a desktop, so a .ics received in your mail or chat can become a CSV on the spot, with no trip to a server.
Yes, fully. Serving a static page is cheap, and with the parsing done on the device there is nothing collected or kept on this end. The broader toolset pays for the site. No cap sits on this one, no watermark and no sign-up.

OnlinePCApps Developer Group

Written and reviewed by Otto Graf, who has worked on calendar formats and developer tools here since 2013

Last reviewed October 2026
13
Years on dev tools
0
Calendars uploaded
5
CSV columns
0
Watermarks

Two things about a calendar file trip people up more than the parsing ever does, and both are worth knowing before opening the CSV. The first is time. A start can carry a named zone, sit in UTC or float with no zone at all, and those are different moments. The second is repetition. A weekly meeting is not stored as fifty-two events but as one, with a rule that says to repeat, which is why it lands as a single row. An all-day event adds a small twist, since its end is the day after it finishes rather than the last day it covers. The tool stays small on purpose. It takes the summary, the start, the end, the location and the description, copies the date text exactly as the file writes it, and leaves the organizer, the attendees and the timezone tag in the .ics. Every value is wrapped in quotes, so a comma stays in its cell. Two cautions stay worth stating. A date like 20260404T103000Z needs a DATE and TIME formula to become a real date in Excel, and a long line a calendar folded onto a second line is not rejoined. A schedule is nobody else's business, so the parse runs in the browser and reaches no server.

Standards followed

iCalendar · RFC 5545 VEVENT · Five Fields CSV · Double-Quoted CSV · RFC 4180
Built on the same shared design system as every OnlinePCApps tool. onlinepcapps.com

Convert ICS to CSV Online for Free

No sign-up and no upload. Paste calendar text or drop in a .ics, and the online ICS to CSV converter hands back a CSV to copy or download.

Convert an ICS Free, no account Try Desktop Edition For deep expansion, use a script
Convert an ICS