Have a list of events in Excel or Google Sheets? Load it as CSV, tell the converter which column is the title, date and time, and download one .ics file that adds every event to Google Calendar, Apple Calendar or Outlook in a single import. Everything runs in your browser.
Last updated:
Your data stays on your device. Nothing is uploaded.
1. Match your columns
2. Dates, times and calendar options
No data
Events preview
Show the .ics text
Advertisement
Advertisement
How to use the CSV to ICS Converter
Load your events: drop a CSV file, choose it, or paste rows into the box. Save Excel or Google Sheets files as CSV first. A sample list is loaded so you can see how it works.
Match the columns: check that Title and Start date point at the right columns. Start time, end date, end time, all day, location, description, URL and categories are optional.
Set the date order and time zone: Auto-detect handles most files; pick Day/Month/Year if your dates are European. Choose the time zone the times in the CSV are in.
Review the preview: each row shows the date and time it will get, and rows with problems are marked in red with the reason.
Click Download .ics file and import it: Google Calendar > Settings > Import & export, Outlook > File > Open & Export > Import, or double-click it on a Mac or iPhone.
How a CSV row becomes a calendar event
Each CSV row becomes one VEVENT in an iCalendar (.ics) file, the RFC 5545 format every major calendar app imports. The converter uses these rules:
Your CSV has…
Result in the calendar
Start date only
All-day event on that date
Start date + end date, no times
Multi-day all-day event (the end date is included)
Start date + start time
Timed event lasting the default length (1 hour)
Start date + start time + end time
Timed event on that day; if the end time is earlier, it ends the next day
Start and end with dates and times
Timed event spanning exactly that period
All day column = yes / true / 1 / x
All-day event even if a time is present
Date-time with Z or an offset (2026-03-14T09:30:00-05:00)
Exact moment, independent of the time zone setting
Text fields are escaped the way the standard requires (commas, semicolons and backslashes get a backslash, line breaks become \n) and long lines are folded at 75 bytes, so descriptions with punctuation, accents or emoji import cleanly.
A CSV template that works everywhere
If you are building the spreadsheet from scratch, use the same column names as Google Calendar's own CSV import. The converter recognizes them automatically, and Google can import the same file directly too:
Subject
Start Date
Start Time
End Date
End Time
All Day Event
Location
Description
Project kickoff
03/02/2026
9:30 AM
03/02/2026
10:30 AM
False
Room A
Goals and owners
Team offsite
03/16/2026
03/18/2026
True
Lake Tahoe
Three days
Why convert to .ics instead of importing the CSV directly? Apple Calendar cannot import CSV at all, Outlook accepts CSV only in classic Outlook for Windows through a field-mapping wizard, and Google's CSV import has no time zone or reminder fields, and an .ics file can be emailed or shared so other people can add the same events.
Tips and common problems
Dates swapped (March 4 shows as April 3): set Date order to Day/Month/Year or Month/Day/Year instead of Auto-detect.
Events an hour off in Outlook: keep "Local time + time zone" so the file includes a VTIMEZONE block for your zone, or choose UTC.
Importing twice creates duplicates: each download gets new event IDs, so delete the first import (or import into a separate calendar) before importing a corrected file.
Classes or shifts that repeat: list each date as its own row; to create a single repeating event use the Calendar Event (.ics) Generator.
Need the reverse? The ICS to CSV Converter turns a calendar export back into a spreadsheet, and the ICS File Viewer lets you check the result before importing.
Frequently asked questions
What columns does my CSV need?
At minimum a title and a start date for every row. Add a start time for timed events (rows without a time become all-day events), and an end time or end date if you know it. Location, description, URL, categories and an All day yes/no column are optional.
Which date formats are supported?
ISO dates (2026-03-14), US dates (03/14/2026), European dates (14/03/2026 or 14.03.2026), dates with month names (March 14, 2026 or 14 Mar 2026), date and time in one cell, and Excel date serial numbers. When a date like 03/04/2026 is ambiguous, Auto-detect looks at the other rows; you can force Month/Day/Year or Day/Month/Year.
How do I import the .ics file into Google Calendar?
On a computer open Google Calendar, click the gear icon > Settings > Import & export, choose the downloaded .ics file, pick the calendar to add the events to and click Import. Tip: create a new calendar first so you can delete the whole import in one step if needed.
Which time zone option should I choose?
Choose the time zone your CSV times are written in. Local time + time zone writes each event with that zone and a matching VTIMEZONE block, so Outlook, Apple and Google show it correctly even across daylight saving changes. UTC converts every time to universal time. Floating keeps the clock time with no zone, so 9:00 stays 9:00 wherever the calendar is opened.
What happens if an event has no end time?
It gets the default length you choose (1 hour unless you change it). If the end time is earlier than the start time and there is no end date, the event is assumed to end after midnight on the next day.
Can I convert an Excel file directly?
Save it as CSV first: in Excel use File > Save As > CSV UTF-8, and in Google Sheets use File > Download > Comma-separated values. Then load the CSV here. Copying cells from Excel and pasting them into the box also works, as tab-separated data.
Is my data private?
Yes. The CSV is read and the .ics file is built by JavaScript in your browser. Nothing is uploaded or stored on a server.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.