CSV and Excel to ICS calendar converter

Turn a schedule kept in a spreadsheet (shifts, classes, fixtures, deadlines, bookings) into an .ics file that every calendar app can import, with the right time zone and optional reminders.

Choose your files

or drop .csv or .xlsx files here

Up to 20 files at a time. Your files stay on this device.

Or paste CSV text
View history

This converter is taking a while to load. Check your connection, then reload the page.

Your files stay on this device: the conversion runs in your browser and nothing is uploaded. Learn how your files are handled

How to convert a spreadsheet to an .ics calendar

  1. Choose your file, with one event per row, or paste CSV text.
  2. Check the columns. Only a title and a start date are required. If you have start and end times, a location or a description, check that those columns are matched too.
  3. Set the options: how dates are written (day or month first), the time zone the times are in, the length of events that have no end time, and an optional reminder.
  4. Download the .ics file and import it into your calendar.

An example layout

SubjectStart DateStart TimeEnd TimeLocation
Team meeting2026-11-0210:0011:00Room 4
Dentist11/05/20262:30 PM3:15 PM12 Oak St
Conference2026-11-10Berlin

Rows without a time become all-day events, and an end date makes them last several days. A start date cell can also hold the time (2026-11-02 10:00). A timed event with a later end date but no end time ends at the same time on that date. Other events without an end time get the length you choose in the options. An end time earlier than the start time (22:00 to 01:00) is treated as running past midnight.

Dates and times it understands

  • Dates: 2026-11-02, 11/02/2026, 02.11.2026, 2 Nov 2026, November 2, 2026, and dates stored as Excel date cells.
  • Times: 14:30, 2:30 PM, 2pm, 9.45 am.
  • A date like 03/04/2026 could mean 3 April or 4 March. The converter looks at the other rows to decide. If none of them make it clear, it uses month first and warns you. Set “Dates are written” to be sure.

Time zones

Choose the time zone that the times in your spreadsheet are written in. It starts set to your device’s time zone. Each event is saved in UTC (universal time), so a 10:00 New York meeting shows as 15:00 for a colleague in London and as 10:00 for you. Daylight saving time changes are handled for each date. Choose No time zone for events that should show the same clock time wherever the calendar is opened, such as a medication reminder.

Importing the .ics file

Google Calendar

On a computer, open Google Calendar → Settings (gear) → Import & export → choose the file and the calendar to add it to → Import. Google’s phone apps can’t import files. Tip: first create a new, separate calendar for the import, so you can remove every event in one step if something looks wrong.

Outlook

Classic Outlook for Windows: File → Open & Export → Import/Export → Import an iCalendar (.ics) or vCalendar file. New Outlook and Outlook.com: Calendar → Add calendar → Upload from file.

Apple Calendar, iPhone and iPad

On a Mac, double-click the file or use File → Import in Calendar. On iPhone or iPad, open the file from Mail or Files and tap Add All.

Why .ics rather than Google’s CSV import?

Google Calendar can import its own CSV layout, but Outlook.com, Apple Calendar and iPhone can’t import events from a CSV at all. An .ics file works in every calendar app, keeps time zones correct and can include reminders.

Frequently asked questions

Will importing the same file twice create duplicate events?

It can, depending on the app. Each event gets an ID made from its title, date, time and location, so the same event always gets the same ID. This helps some apps recognise repeats, but Google Calendar and Outlook may still add copies. Importing into a separate calendar makes it easy to start again.

Can I add reminders or alerts?

Yes. Choose a reminder (at the start time, or 10 minutes to 1 day before) and every event gets an alert. All-day events get theirs at 9:00 on the day, or the day before with “1 day before”. Some apps, including Google Calendar, may replace imported reminders with your default notification settings.

Can I create repeating events?

Not from a spreadsheet: each row becomes one event. To repeat an event, put each occurrence on its own row, which is easy to fill down in Excel.

How do I make an event last several days?

Give it a start date and an end date, and leave the times empty. It becomes an all-day event covering every day from the start date to the end date, including both.

My times are an hour off after importing. Why?

The “Times in the file are in” option probably doesn’t match the time zone the times were written in. Choose the right time zone and download again. Your calendar then shows each event in your own local time.

What CSV format does Google Calendar need?

Google Calendar’s CSV import expects these headings: Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location and Private. Only Subject and Start Date are required, and Google’s examples write dates as 05/30/2026 and times as 10:00 AM. This converter reads that layout, or any other headings and date styles, and makes an .ics file, which Google imports in the same place.

Why can’t I import a CSV file into Outlook or Apple Calendar?

Outlook.com, the new Outlook, Apple Calendar and iPhone import events only from calendar files (.ics), not from CSV. Classic Outlook for Windows can import a CSV into a calendar through its Import/Export wizard, but the columns must use Outlook’s field names or be matched by hand. An .ics file made here imports into all of them.

How do I add a shift schedule or many events to Google Calendar at once?

Put one shift or event per row in a spreadsheet, with a title, a date, a start time and an end time, for example Early shift, 2026-11-02, 06:00, 14:00. Convert it here, then import the .ics file into Google Calendar on a computer, and every row becomes an event in one step. Night shifts such as 22:00 to 06:00 are placed across midnight automatically. Importing into a separate calendar keeps the rota easy to replace when it changes.

Can ChatGPT make an ICS file?

An AI chatbot can write the text of an .ics file, but check it carefully before importing. Time zones, daylight saving changes, the end date of all-day events (which must be the day after) and commas in titles are where generated files often go wrong, and a mistake may only show up as events at the wrong time. This converter builds the file from your spreadsheet with fixed rules, so the same sheet always gives the same file.

Is my schedule uploaded?

No. The spreadsheet is read and converted in your browser, and the .ics file is created on your device.