Convert XLSX to ICS

Drop an .xlsx file and get back a standard .ics calendar file. Koyomi parses the workbook in your browser, detects the title, date, time and location columns from the headers, and writes an iCalendar file any calendar app can import.

The .xlsx format is what most software produces when you click "Export to Excel" — property-management tools, booking systems, Airtable, Notion. A landlord with lease starts, lease ends, inspections and renewal deadlines in one export can turn it into a calendar in a minute, one row per event, with the property address in the location field.

Dates that mix real date cells with typed text ("1 September 2026" next to 2026-09-15) are handled, and day-first versus month-first is inferred from the data with a manual override if the guess is wrong. Times default to your browser's timezone, or pick another.

How to convert an XLSX export to ICS

  1. Look at what the export put in the date columns. Software exports often write timestamps as text such as 2026-09-15T14:00:00Z or 2026-09-15 14:00:00+02:00. Koyomi reads ISO 8601 with a zone designator as an exact instant, and those cells ignore the timezone control because they already say when they are.
  2. Decide which column is the event. Exports have many columns. The first recognized header (Name, Event, Task, Subject) becomes the title; point the dropdown at whichever column you actually want to read on the calendar, such as the property address, and move the rest to Description.
  3. Keep the ID column. If the export has an ID, Ref or Reference column, its value is used as the event UID. That makes a fresh export after a change line up with the events already imported, instead of depending on row order.
  4. Pick the tab if there are several. Airtable and Notion exports are one sheet; property tools often produce one tab per building. Only the chosen tab converts, and empty tabs are left out of the picker.
  5. Set the timezone, check the preview, download. The download is named after the calendar-name field, which defaults to the workbook's file name. Change it to something like "Leases 2026" before you download if you're producing several files.

Reading timestamps from software exports

Two styles show up. Some tools write a local wall-clock time with no zone (2026-09-15 14:00); others write an absolute instant with an offset or a Z. Koyomi treats the first as a time in the zone you choose and the second as already fixed, converting it to UTC in the .ics without consulting the control.

Mixed columns are fine. A column in which some cells are real Excel dates and others are typed text is read cell by cell. What can't be mixed is the numeric order: if one row says 15/09/2026 and another 09/15/2026, one of them is wrong, and the day-first toggle applies to the whole file.

A column named StartDateTimeUTC is recognized as the start, but its values are still read as written. If the text carries no Z or offset, choose UTC in the timezone control so those times are interpreted correctly.

One row per date, not one row per record

Exports are usually one row per record: a lease with a start date, an end date and an inspection date across three columns. A calendar wants one row per event. Map Start Date to the lease start and convert once; then map it to the inspection date, rename the calendar, and convert again. Each pass yields its own .ics.

Alternatively reshape in Excel before converting: copy the sheet, keep the address as the title, stack the date columns into one, and add a Type column mapped to Description. Either approach gives events on the days that matter instead of one bar spanning a whole tenancy.

If you do want the tenancy as a bar, map Start Date and End Date with no times. The result is a multi-day all-day event, and Koyomi writes the exclusive end date the format requires so the last day is included.

After you download the .ics

Google Calendar

  1. Open calendar.google.com on a computer (the mobile apps can't import files).
  2. Click the gear → Settings → Import & export.
  3. Select the .ics file, choose which calendar to add the events to, and click Import.

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.

Apple Calendar

  1. Mac: double-click the .ics, or File → Import in Calendar, then pick the calendar to add to.
  2. iPhone / iPad: open the .ics from Files or Mail and tap Add All.
  3. Events added to an iCloud calendar sync to every device.

Frequently asked questions

What's the difference between .xlsx and .xls?
.xlsx is the current Excel format (2007 onward); .xls is the older binary one. Koyomi reads both, plus CSV, so it doesn't matter which one your software exported.
How should I lay out lease start and end dates?
One row per date you want to see. "Lease starts — 12 Oak St" on one row and "Lease ends — 12 Oak St" on another gives you an event on each day that matters, rather than one long block on the calendar.
Can I put the property address in the event?
Yes. A column headed Location is picked up automatically and becomes the event location, which calendar apps show with a map link. If yours is called Address or Property, map it to Location with the dropdown.
The dates parsed month-first but they're day-first. Can I fix it?
Yes. Koyomi infers the order from the data, but when a file is ambiguous (every day number is 12 or under) there's a manual day-first / month-first toggle, and the preview updates immediately.
The export has a Duration column instead of an end time. Can I use it?
Not directly; there is no duration field to map. Either set the default duration to the most common length, or add an End Time column in Excel (start time plus duration) and save before converting. The calculated value is what gets read.
Do I need to delete extra columns first?
No. Unmapped columns are ignored, and only the mapped fields end up in the .ics. A fifty-column export is fine as long as the ones that matter are assigned.
Are cell colors, comments or attachments carried over?
No. Only cell values are read. If a color encodes something like tentative versus confirmed, put that word in a column and map it to Description so it survives.
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.