How to add a CSV schedule to your Outlook calendar
Outlook has imported CSV files for two decades, but the Outlook you have in 2026 may not be the one that does it. Here are both routes, and how to prepare an Excel schedule so the appointments land where and when they should.
· 8 min read
Which Outlook you have, and what it imports
Several products share the name. Classic Outlook for Windows is the desktop program with the File tab; Microsoft still ships it to Microsoft 365 customers, but it is no longer what a new PC gives you. New Outlook for Windows replaced Mail and Calendar and shares its code with Outlook on the web.
The distinction matters because only classic Outlook for Windows imports CSV. Its Import and Export Wizard (File, Open & Export, Import/Export, Import from another program or file, Comma Separated Values) has you pick the file, choose the Calendar folder, then map each column to an Outlook field by hand. Dates are read in your Windows regional format, and there is no preview.
New Outlook and Outlook on the web import .ics only, through Add calendar, then Upload from file. Classic Outlook imports .ics as well, and Outlook for Mac through File, Import. A CSV works in one Outlook; an .ics works in all of them. Not sure which you have? New Outlook has no File menu.
The rule: if you have classic Outlook, the file already uses Outlook's header names, and its dates match your Windows short-date format, the wizard is fine. Otherwise convert to .ics.
Preparing an Excel schedule
An Excel workbook carries things a CSV doesn't, and each is handled differently when the .xlsx is read directly.
- Dates stored as serial numbers. Excel keeps a date as a count of days since December 30, 1899, with a display format on top. Koyomi reads the underlying value, so 46266 and "14 September 2026" are the same cell. Bare serials left by a paste-values are recognized when they fall roughly between 1954 and 2119.
- Times as cells versus text. A time cell is stored as a fraction of a day and read as such; text such as 8am, 08:00 or 14h30 is parsed. A single cell reading "08:00-16:00" is neither and needs splitting into two columns.
- Merged header rows. Only row 1 is read as the header. A merged banner above the table turns the real column names into data; delete it so they sit in row 1. A cell merged across two header columns labels only the first; the second shows as a column letter in the dropdowns.
- Multiple sheets. A workbook with several tabs shows a sheet picker, and only the selected tab converts: one rota per tab, one .ics per tab.
- Formulas. The stored result is read, not the formula, so a calculated End Time works once the workbook has been saved.
- Filtered and hidden rows still convert; delete what you don't want.
Reading the .xlsx directly skips Save As CSV, which is where Excel rewrites every date into your regional format and the day/month confusion begins.
Step by step: Excel or CSV to .ics to Outlook
- Check row 1. Column names only, one event per row below. Outlook's own headers (Subject, Start Date, Start Time, End Date, End Time, Location, Description) are matched as they are; so are Shift, Date, Time, Room and Notes.
- Drop the file in. Use the .xlsx or .xls itself, or the CSV. Pick the tab if there are several; unrecognized columns get a dropdown.
- Set the time zone and check the date order. Choose the zone the shifts happen in, and check that the date-order control read numeric dates the right way round.
- Read the preview, then download. Each appointment is listed with its start and end, and skipped rows with the reason. Overnight shifts with no End Date show up here as ending before they start; add the date and they resolve.
- Import in new Outlook or Outlook on the web. Open Calendar, click Add calendar, choose Upload from file, browse to the .ics, pick the destination calendar from the dropdown, and click Import.
- Import in classic Outlook for Windows. File, Open & Export, Import/Export, then Import an iCalendar (.ics) or vCalendar file. Choose Import to merge into your calendar or Open as New for a separate one. On a Mac: File, Import.
Import or Open as New: keep a separate calendar
Classic Outlook asks the question outright. Import merges the appointments into your default calendar; Open as New creates a calendar of its own, shown alongside. New Outlook and the web don't ask; create a calendar first (Add calendar, Create blank calendar) and select it in the destination dropdown.
A separate calendar is the safer default for anything imported. You can hide it, color it or delete it in one step, and its appointments don't block your free/busy for colleagues. Merge into your main calendar only when the schedule is genuinely yours.
Double-clicking an .ics in File Explorer opens it in classic Outlook as a new calendar, not a merge, so the appointments won't appear among your own meetings.
Shared and Microsoft 365 calendars
An import lands in a calendar of the account you are signed in to. The destination dropdown lists your own calendars; whether a calendar shared with you appears depends on your permission level, and Microsoft 365 tenants and personal accounts differ. Group calendars and shared mailboxes are separate mailboxes and don't show in the list.
If the calendar you want isn't offered, reverse the direction: import into a new calendar of your own and share it, or send the .ics to the shared calendar's owner to import from their account.
Once in, imported appointments sync like any other. Nothing is emailed, because an import creates appointments rather than meeting requests, and the file holds no attendees.
Time zones in Outlook
Outlook stores every appointment as an absolute instant and displays it in the zone set in its options, normally the Windows zone. The CSV wizard reads the file's times as being in that zone, so a Chicago rota imported on a laptop set to Eastern comes out an hour early for everyone in Chicago.
An .ics avoids this only if converted in the right zone. Koyomi writes each appointment as a UTC instant using the zone you select, with the daylight-saving offset in force on each date, and Outlook shows it in the viewer's zone. For a rota that should read the same wall-clock time in every office, choose "No timezone"; Outlook then places those times in each viewer's zone.
A row can't say which zone applies unless the cell carries an offset, such as 2026-09-14T08:00:00-05:00, which is read as the instant it states regardless of the control. Two-zone teams convert once per zone, one tab each.
Recurring shifts and rotas
Recurrence in Outlook is a property of a single appointment. Neither a CSV row nor Koyomi's output expresses it: Koyomi writes no recurrence rules, and the classic wizard has no recurrence field to map to. What imports is one appointment per row.
For rotas that is usually the right shape. Real shift patterns accumulate swaps and leave, and one series with twenty exceptions is harder to maintain than twenty independent appointments. Generate the rows in Excel: type the first two dates of the pattern, select them, and drag the fill handle down. If you do need a true recurring appointment, create it by hand in Outlook after the import and delete the rows it replaces.
Troubleshooting
- Duplicates after a second import. Outlook doesn't reliably update an appointment when the same UID arrives again; classic and web differ, and the web usually adds copies. Keep imported schedules in their own calendar; when the rota changes, delete it and import the new file.
- Appointments an hour off. The wrong zone was selected at conversion, or another tool applied one fixed offset across a daylight-saving boundary. Convert again with the correct IANA zone (America/Chicago, Europe/London); the offset is worked out per date.
- A "file not supported" message from Upload from file. New Outlook and the web accept .ics only; a CSV, an .xlsx, or a CSV renamed to .ics is refused. Convert it into genuine iCalendar text.
- Nothing appears in the shared calendar. The import went to the calendar selected in the dropdown, which defaults to your own. Look there, delete the misplaced appointments, and import again into the right destination.
- Wrong month. A day-first file was read month-first or the reverse. Switch the date-order control. The classic wizard has no such control: rewrite the dates to match your Windows short-date format, or use ISO.
Do it now
Frequently asked questions
- Can I import a CSV into the new Outlook?
- No. New Outlook and Outlook on the web import .ics only, through Add calendar and Upload from file. Convert the CSV to .ics, or use classic Outlook's wizard if you still have it.
- How do I import an Excel schedule into Outlook?
- No version of Outlook opens an .xlsx as a calendar. Convert the workbook to .ics (Excel date and time cells are read directly) and import that, or save as CSV for classic Outlook's wizard.
- Does importing a schedule send invitations to anyone?
- No. The file contains no attendees and Outlook sends nothing. To invite people, open an appointment afterwards and add them, which turns it into a meeting.
- How do I remove everything I just imported?
- If it went into its own calendar, delete the calendar. If it merged into your main calendar in classic Outlook, switch to a list view, sort by the Created column, select the batch and delete. There is no undo.