Convert CSV to ICS

An .ics file is the one calendar format every app reads — Google Calendar, Outlook, Apple Calendar, Thunderbird, Proton, Fastmail. Koyomi reads your CSV, works out which columns are the title, dates, times and location, and writes a standard iCalendar file you can import anywhere.

If you're coordinating an event and the session list lives in a spreadsheet, this is the shortest route into forty people's calendars: convert once, share the .ics, everyone imports it. The delimiter is detected automatically (comma, semicolon or tab), and dates are read in any of the usual shapes — 2026-09-01, 9/1/2026, 01.09.2026, or "Sep 1, 2026".

You see a preview table of every parsed event before you download, with a warning on any row that was skipped and why. Nothing is uploaded; the file stays in your browser.

After you download the .ics

Google Calendar

  1. Open calendar.google.com on a computer (the mobile apps can't import files).
  2. Click the gear → Settings → Import & export.
  3. Select the .ics file, choose which calendar to add the events to, and click Import.

Outlook

  1. Outlook on the web / new Outlook: Calendar → Add calendar → Upload from file → pick the .ics and a destination calendar.
  2. Classic Outlook for Windows: File → Open & Export → Import/Export → Import an iCalendar (.ics) file.
  3. Choose Import (merge into your calendar) rather than Open as New, unless you want a separate calendar.

Apple Calendar

  1. Mac: double-click the .ics, or File → Import in Calendar, then pick the calendar to add to.
  2. iPhone / iPad: open the .ics from Files or Mail and tap Add All.
  3. Events added to an iCloud calendar sync to every device.

Frequently asked questions

What is an ICS file?
ICS is the iCalendar format (RFC 5545): a plain-text file listing events with their start, end, title, location and description. Every major calendar app imports it, which is why it's the safest format to convert to.
Which columns does my CSV need?
At minimum a title and a start date. End date, start and end time, location, description, URL and an all-day flag are picked up when present. Headers are matched automatically; anything unrecognized is mapped with a dropdown before you download.
My CSV uses semicolons instead of commas. Will it work?
Yes. The delimiter is detected from the file — comma, semicolon and tab all work, which covers CSVs saved by Excel in European locales.
What happens to rows with a date but no time?
They become all-day events. Rows with a start time but no end time get a default duration — 60 minutes unless you change it.
Is my spreadsheet uploaded anywhere?
No. Parsing and the .ics file are produced entirely in your browser — the file never leaves your device. That's also why there is no size limit, no queue and no account.
Is this really free?
Yes. Every input format, every option, no sign-up, and nothing added to the calendar file.
Does it support recurring events?
Not yet. Each row becomes one single event. For a weekly class or shift, put one row per occurrence — filling a date column down in a spreadsheet takes seconds.