Excel to Calendar
Turns a spreadsheet of events into calendar files — one for the whole schedule, and one for each row.
Runs in your browser0 bytes uploadedTurns a spreadsheet of events into calendar files — one for the whole schedule, and one for each row.
Runs in your browser0 bytes uploadedPaste a schedule with a header row, or drop a spreadsheet. Nothing is uploaded — the files are built in this tab.
Worth clearing up immediately, because the phrase means two different things. If you are after a printable month or year layout to fill in, Excel ships templates for that — File, New, search for calendar — and you do not need anything from us.
This page does the opposite journey. You already have the events: forty conference sessions, a term of classes, a season of fixtures, sitting in rows with a date column. What you want is for those to become entries in real calendars — yours, your colleagues', your visitors'. That means calendar files, and this turns your rows into them.
A header row, a title column and a start column. Everything else is optional. End, location, description and link are picked up when they exist, and the matching is done on the header names rather than on position, with the obvious synonyms accepted —session, summary, name and subjectall read as the title; starts, date and fromall read as the start.
What it will not do is guess. A sheet whose headers it does not recognise gets told so, rather than having the first column assumed to be the title — because that assumption produces a schedule built from the wrong fields, and the first person to notice is whoever finds Room B as the name of a talk in their calendar. Every match it does make is printed, along with the columns it ignored, so the interpretation is visible before you download anything.
Write dates as 2026-08-12, optionally with a time: 2026-08-12 14:00. A row with a date but no time becomes an all-day event, which is usually what a row like that means.
Slash-separated dates are deliberately left alone. 03/04/2026 is the fourth of March to most of Europe and the third of April to the United States, and there is no way to tell which one your sheet means. Guessing would move an event by a month and nothing on screen would look wrong, so those rows are flagged with their row number instead — and every other row still builds. One bad cell should never cost you a whole schedule. If your spreadsheet holds real dates rather than text, this does not arise: an .xlsx stores them as numbers with a date format, and those are read exactly.
They serve genuinely different purposes and it costs nothing to produce both. The combined file carries every event, named as a calendar, and suits the visitor who wants the whole program in one action. The individual files suit the page for each session, where a single button should add exactly one thing.
Each row also gets its own Google Calendar and Outlook links, for the same reason they exist on the single-event generator: a downloaded file does not work smoothly for anybody living in Google Calendar, and roughly half your audience does. Times are converted from the timezone you choose into UTC, so an attendee reading the schedule from another country sees the right local moment rather than the same wall-clock number.
The workbook is unzipped and parsed by JavaScript in this page, using the decompression the browser already has, and the calendar files are assembled here too. There is no upload step at any point.
That is more relevant than it might sound. A conference program is usually a working document right up until it is announced — speaker names that have not been confirmed, rooms that might change, sessions that might be cut. Handing that to a converter you found in a search result is a strange thing to do with an unpublished schedule, and there is no reason a text file needs a server to be written.
For a single event rather than a sheet full of them, theICS file generator is the same machinery with a form instead of a table.
No, and that is worth saying first because the search is ambiguous. If you want a printable month grid inside a spreadsheet, Excel has templates built in and this is the wrong page. This does the other thing: it takes a list of events you already have — one per row, with a title and a start — and turns them into calendar files you or your visitors can add to Google Calendar, Outlook or Apple Calendar.
A header row with at least a title and a start. End, location, description and link are used if present, and several spellings of each are recognized — session, summary, name and subject all work for the title, and starts, date and from all work for the start. The tool prints which column it read as what, and lists the ones it ignored, because a silent match builds a schedule out of the wrong fields and you would only find out in somebody's calendar.
Year-month-day, with an optional time: 2026-08-12 or 2026-08-12 14:00. A row with no time becomes an all-day event. Slash formats like 03/04/2026 are deliberately not interpreted — that is the fourth of March for half the world and the third of April for the other half, and guessing moves somebody's event by a month. Those rows are flagged with their line number and the rest still build.
Both, because they answer different needs. The combined file holds every event and suits a visitor who wants the whole program in one go. The per-row files suit the page for each individual session, where you want a single button that adds just that one. The tool lists each event with its own download and its own Google and Outlook links.
No. The workbook is unpacked and read by JavaScript in this tab, using the browser's own decompression, and the calendar files are built here too. There is no endpoint to send anything to — which matters, because a conference schedule is often unpublished when you are preparing it.