How to convert a CSV or spreadsheet into calendar events (.ics)
The short answer: save your data as CSV, map the title and date columns with the converter on the home page, download the .ics file, and open it in your calendar app. Below is the full walkthrough, including the details that usually trip people up.
Why use an .ics file at all?
When you have more than a handful of events — a class timetable, a conference agenda, a shift roster,
a content calendar or a list of invoices due — typing them in one by one is slow and error-prone.
Calendars solve this with the iCalendar format (file extension .ics), a plain-text
standard defined in RFC 5545. A single .ics file can contain hundreds of events, and every major
calendar app knows how to import it. So the job is simply to translate the rows in your spreadsheet
into that format, which is exactly what this tool does.
Step 1 — Lay out your spreadsheet
Give each event its own row and put each piece of information in its own column. The only two columns you truly need are a title (what the event is called) and a start date. Everything else is optional but useful:
- Start time and End time — add these to create a timed event such as a 30-minute meeting. Leave them blank for an all-day event like a holiday or a deadline.
- End date — for multi-day all-day events, such as a three-day conference.
- Location — an address or a video-call link.
- Description — any notes you want attached to the event.
A clear header row (Title, Start Date, Start Time, and so on) helps the converter guess the mapping for you, though you can always adjust it by hand.
Step 2 — Export as CSV
In Google Sheets choose File → Download → Comma-separated values (.csv). In Excel choose File → Save As and pick CSV UTF-8. In Apple Numbers use File → Export To → CSV. You can also just select the cells and copy them, then paste straight into the tool — pasted data from a spreadsheet is usually tab-separated, and the auto-detect option handles that automatically.
Step 3 — Paste, map and set the date format
Paste your rows (or upload the CSV file) into the converter. Confirm that the first row is treated as a
header, then check the column mapping: the tool tries to match your headers, but you should make sure the
title and start-date fields point at the right columns. The single most common mistake is the
date format. 03/04/2026 means March 4 in the United States and
April 3 in most of Europe, and software cannot always tell which you meant. Pick the format that
matches your data (ISO YYYY-MM-DD is the least ambiguous and worth adopting), and your events
will land on the correct days.
Step 4 — Decide on time zones
For timed events you can choose local / floating time or UTC. Floating time means "9 am wherever the calendar is" and is the right choice for personal schedules where you will not be crossing time zones. UTC anchors each event to an absolute moment, which is better for coordinating people in different regions. If you are unsure, floating time behaves the way most people expect. If no end time is given for a timed event, the tool applies the default duration you set (60 minutes out of the box).
Step 5 — Download and import
Press Download .ics. Then import it:
- Google Calendar (desktop web): click the gear → Settings → Import & export, choose your .ics file, pick the target calendar and import. Google does not offer .ics import in the mobile app, so use a browser.
- Apple Calendar: double-click the .ics file, or in the Calendar app choose File → Import. On iPhone, open the file from Mail or Files and tap Add All.
- Microsoft Outlook: File → Open & Export → Import/Export → Import an iCalendar (.ics) file. On Outlook.com use Add calendar → Upload from file.
Tip: import into a brand-new, empty calendar the first time. If anything looks wrong you can delete the whole calendar in one click and try again, without disturbing your real appointments.
Troubleshooting
Events are a day off. The date format setting does not match your data — switch between
US and EU order. An all-day event spans two days. That is normal internally: the standard
records the end date as the following midnight, and calendars still display a single day.
Commas split a cell into two. Wrap that value in double quotes in your spreadsheet, e.g.
"Suite 4, Building B"; the parser then keeps it as one field. Nothing imports.
Make sure at least the title and start-date columns are mapped and that dates are real dates, not text.
A note on privacy
This converter runs entirely in your browser using JavaScript. Your spreadsheet is never sent to any server, which matters when the rows contain customer names, home addresses, medical appointments or other personal data. You can confirm this by turning off your network connection: the tool keeps working.
Ready to try it? Head back to the converter, or read how it compares with Google's CSV import and manual entry.
Home › Guide