CSV to Calendar (.ics) Converter

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:

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:

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