CSV to ICS Converter

Drop a spreadsheet of events — get an ICS file ready to import into Google Calendar, Outlook, or Apple Calendar in one action.

Drop your CSV file here

Converts to .ics — stays on your device

Why convert CSV to ICS?

How our converter works

Your CSV is parsed in the browser and each row becomes a VEVENT in a standard VCALENDAR wrapper. The expected columns match what Google Calendar's own CSV import uses — Subject, Start Date, Start Time, End Date, End Time, Location, Description — but the converter accepts ISO (YYYY-MM-DD), US (MM/DD/YYYY), and both 24-hour and 12-hour times. Empty time fields produce all-day events. Every event gets a unique UID and DTSTAMP so calendar apps deduplicate correctly on re-import. Runs entirely locally, which matters because event lists often reveal client names, travel patterns, and team schedules.

CSV vs ICS — what's the difference?

Feature CSV ICS
Structure Flat rows, one per event VCALENDAR wrapping VEVENT blocks
Calendar-app import Only Google Calendar accepts CSV directly Universal — every calendar app imports ICS
All-day events Empty time fields Date-only VEVENT with no time component
Authoring Easy — any spreadsheet Harder — specialized tools or manual editing
Best for Building and editing event lists Distributing and importing into calendars

Frequently asked questions

What CSV columns does the converter expect?

Subject, Start Date, Start Time, End Date, End Time, Location, Description — Google Calendar's native import schema. Subject and Start Date are required; everything else is optional. If End Date is missing it's assumed to match Start Date.

Which date and time formats are accepted?

Dates in ISO (2026-04-23), US (04/23/2026), or European (23/04/2026) format. Times in 24-hour (14:30) or 12-hour (2:30 PM). Leave time fields blank for all-day events. The converter normalizes everything to the ICS spec (RFC 5545) on output.

How do I import the ICS into Google Calendar?

calendar.google.com → Settings → Import & export → Import → choose the .ics file → pick a destination calendar. Every row in your CSV shows up as a separate event. Outlook and Apple Calendar use similar 'Import calendar' flows.

Can I include recurring events?

Not from a single CSV row — CSV doesn't model recurrence rules. If you need 'every Tuesday,' either expand the occurrences yourself in the spreadsheet (one row per week) or create the event once in the calendar app and set the recurrence there after importing the first instance.

Are attendees or reminders supported?

Not in this converter — CSV imports across calendar apps vary wildly on attendees, and reminders are user-preference anyway. For invites, import the events first and add attendees in your calendar app; for reminders, set a default in Google Calendar or Outlook.

Is my event list uploaded?

No. The entire conversion runs in your browser. Event lists often reveal client meetings, travel, and team schedules — they stay local on your device.

About the CSV format

CSV (Comma-Separated Values) is the universal tabular format — every spreadsheet, database, and data-pipeline tool reads and writes it without ceremony, which makes it the natural place to author a list of events: a season schedule, a conference agenda, a class timetable, a shift roster. ICS (iCalendar, RFC 5545) is the universal calendar-exchange format — the file type Google Calendar, Outlook, and Apple Calendar import to create real, visible, notify-able events on a user's calendar. Converting CSV to ICS is the standard bridge between 'I built a schedule in a spreadsheet' and 'everyone on my team has it on their phone.' It turns a flat list into a hierarchical calendar file that every calendar app on every platform understands identically, without the data ever leaving the device it was typed on.