Import a CSV into Outlook Calendar

Outlook's CSV import is the "Import from another program or file" wizard: pick the file, then map each column to an Outlook field by hand, with no preview and no warning when a date is misread. Koyomi converts the CSV to an .ics instead, which Outlook imports straight into a calendar in one step — desktop, web and the new Outlook alike.

An office manager with a quarter of training sessions in a CSV — session, date, start, end, room, trainer — maps any unrecognized column with a dropdown, sets the timezone the times were written in, and downloads. Because times are stored as exact instants, a 09:00 session written in Berlin time shows as 08:00 for the London team when they import the same file.

Row-level warnings show anything that couldn't be parsed before you download. Outlook on the web and the new Outlook accept only .ics through Add calendar → Upload from file, and that's what Koyomi produces.

How to import a CSV into Outlook Calendar without the wizard

  1. Keep the columns you have. Session, Date, Start, End, Room, Trainer. Room is recognized as the location; Session is picked up as the title from the data when it's the first text column, and the dropdown lets you confirm or change it. Trainer goes to Description.
  2. Write times in one style. 09:00, 9:00 AM and 9am all parse. What causes trouble is a single cell like "9-10" or "09:00-10:00" holding both ends; split those into Start and End columns before converting.
  3. Set the timezone to where the sessions happen. Outlook displays the file's UTC times in each user's own Outlook zone. Berlin sessions converted with Europe/Berlin selected appear as Berlin time to the Berlin office and as London time to the London office.
  4. Use ISO dates if the CSV is written by hand. 2026-09-14 avoids the day/month question entirely, which matters when colleagues in several countries will open the CSV in Excel before anyone imports it.
  5. Download and decide where it goes at import time. Outlook can keep the sessions as a separate calendar you toggle, or merge them into your main one. That choice is made in Outlook's import dialog, not in the file, so one .ics serves both.

Outlook's import quirks

Classic Outlook for Windows treats a CSV as a data file for the Import and Export Wizard: you pick "Comma Separated Values", choose the Calendar folder, then map custom fields by dragging column names onto Outlook fields. Dates are parsed with the Windows regional format and there's no preview, so a day-first CSV on a US machine imports the wrong months without a warning.

The .ics route bypasses the wizard. Classic Outlook opens an iCalendar file through Open & Export, and Outlook on the web and the new Outlook offer only the .ics upload. In every case the column mapping and the date interpretation were settled before Outlook saw the file.

One remaining Outlook behavior worth knowing: double-clicking an .ics in File Explorer opens it in classic Outlook as a new, separate calendar rather than merging it. Use the Import path if you want the sessions in your main calendar.

Fields Outlook will and won't show

Outlook maps the event title to Subject, the location to Location and the description to the appointment body. The URL property isn't shown as a field of its own, so put meeting links in the Description too if people need to click them.

The file contains no reminders. Whether Outlook attaches its default reminder to imported appointments depends on version and settings, so check a couple of sessions after the first import.

The file doesn't set free/busy either, so the format's default applies and the sessions show as Busy. Change Show As after import if training shouldn't block colleagues from booking you.

After you download the .ics

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.

Read the guide

Frequently asked questions

Why does Outlook's own CSV import go wrong?
It maps columns to fields by hand, reads dates according to your Windows regional settings, and has no way to express a timezone per file. An .ics carries all of that inside it, so Outlook has nothing to guess.
Import or Open as New — which do I pick in Outlook desktop?
Import adds the events to your existing calendar. Open as New creates a separate calendar shown side by side. For a schedule you want alongside your own meetings, choose Import; for something to toggle on and off, Open as New.
Does this work with the new Outlook and Outlook on the web?
Yes. Both use Add calendar → Upload from file, which takes an .ics and asks which calendar to put it in. That's the only import path they offer — CSV isn't an option there.
Will Outlook duplicate events if I import the file again?
In most cases, no. Every event has a stable ID, so re-importing the same spreadsheet updates matching events rather than adding copies. Check after your first re-import, since behaviour varies between Outlook versions.
Does Outlook import CSV or ICS?
Both, in classic Outlook for Windows: CSV goes through the Import and Export Wizard with manual field mapping, and .ics through Import an iCalendar file. Outlook on the web and the new Outlook import .ics only. An .ics is the one format that works in all of them.
How do I make a session all-day in the CSV?
Leave the Start and End time cells empty on that row. If you'd rather be explicit, add an All Day Event column with TRUE or Yes; either way Outlook shows the session in the all-day banner rather than in the time grid.
Can I include the trainer as an attendee?
No. Koyomi writes no attendees, and importing a file never sends invitations. Put the trainer's name in Description; if you need real invitations, create the meeting in Outlook and add attendees there.
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.