Import a CSV into Apple Calendar
Apple Calendar has no CSV import — File → Import only accepts .ics. Koyomi converts your CSV to a standard .ics in your browser, so you can import it on your Mac or open it on your iPhone and have it sync through iCloud to every device.
A freelance photographer exporting bookings from a scheduling tool gets a CSV with client, date, start, end, location and a notes column. Drop it here: the recognized headers map themselves, Notes goes to the description with one dropdown, and the timezone defaults to the one your browser is in. The preview shows each booking as it will appear before you download.
Import into the calendar you already use, or create a "Bookings" calendar first so the events can be shown or hidden as a group. On iPhone, opening the .ics from Mail or Files and tapping Add All puts everything in place without a Mac.
How to import a CSV into Apple Calendar
- Export the bookings as CSV. Most scheduling tools export sessions as a CSV with the client, date and time, location and notes. Export the date range you want on the calendar rather than the full history.
- Check how the export writes the start. Some tools write 2026-09-14 10:00 in one column, some split date and time, and some write "Sep 14, 2026 at 10:00 AM". All three parse. Date-only cells become all-day bookings, so check that a time is present where it should be.
- Client as the title, package in the description. A Name column is recognized as the title; a column called Client is not, so pick it from the title dropdown. Notes maps to Description on its own, and a Package or Service column can be assigned there too.
- Pick the zone the bookings happen in. Calendar shows the file's UTC instants in the Mac's or iPhone's current zone. A Denver booking converted with America/Denver selected shows at the right hour in Denver and shifts correctly if you check it from somewhere else.
- Create a Bookings calendar in iCloud, then import. On the Mac, the import asks which calendar to add to; on the iPhone, Add All asks the same. Having a dedicated iCloud calendar ready means every session lands in one place and syncs to every device.
Apple Calendar and iCloud sync
Calendar on a Mac holds two kinds of calendars: On My Mac, stored locally, and account calendars (iCloud, Google, Exchange) synced with a server. An import into an On My Mac calendar stays on that Mac. An import into an iCloud calendar is pushed to iCloud and from there to every signed-in device, usually within a minute.
Because Calendar can also hold Google or Exchange accounts, you can import into one of those from the Mac and the events live on Google's or Microsoft's servers instead. That suits a studio whose shared calendar is a Google calendar but whose desk is a Mac.
File size isn't a concern for bookings; a year of sessions is a few hundred kilobytes.
Editing and deleting after import
Imported events are ordinary events. Dragging a session to a new time, changing a location or deleting a canceled shoot works as usual, and the change syncs like any other edit.
If a whole batch was wrong, the wrong zone picked for example, the quickest fix is to delete the Bookings calendar and import again rather than editing dozens of events. Deleting a calendar removes its events on every synced device.
The file contains no alerts, so events pick up the default alert for that account in Calendar's settings. Set that before importing if you want every session to notify you.
After you download the .ics
Apple Calendar
- Mac: double-click the .ics, or File → Import in Calendar, then pick the calendar to add to.
- iPhone / iPad: open the .ics from Files or Mail and tap Add All.
- Events added to an iCloud calendar sync to every device.
Frequently asked questions
- Why won't Apple Calendar open my CSV?
- It doesn't support the format. Calendar imports iCalendar (.ics) files only, because CSV has no standard way to express times, timezones or all-day events. Converting to .ics gives Calendar exactly what it expects.
- Does the import sync to my iPhone and iPad?
- Yes, if you import into an iCloud calendar. Local "On My Mac" calendars stay on that Mac. You can also import directly on the iPhone by opening the .ics and tapping Add All.
- Will times be correct if a booking is in another city?
- Times are written in the single timezone you choose for the file, so pick the one the spreadsheet's times are written in. Calendar then shows each booking at the correct local time wherever you are.
- Can the .ics include a reminder for each booking?
- Not yet. Koyomi writes title, dates, times, location, description and URL, but not alarms or attendees. If you want an alert on every event, set a default alert for the imported calendar in Calendar's settings.
- Can I import a CSV to Apple Calendar on iPhone?
- Not as a CSV. Convert it here in Safari on the phone, save the .ics to Files, open it and tap Add All. The conversion runs in the browser, so no Mac is involved at any point.
- Will the client's phone number or email in the CSV be imported?
- Only columns mapped to title, location, description or URL go into the file. Map a Contact column to Description if you want it on the event; otherwise it's left out, which is usually the right call for a shared calendar.
- Why do some bookings show at the wrong hour after import?
- Almost always the zone: the CSV's times were written in one zone and converted as another. Convert again with the right zone, delete the earlier batch, and import once more. If the CSV carries offsets already (2026-09-14T10:00:00-06:00), those cells ignore the zone control and should be right as they are.
- 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.