creatorvalet Search

Excel to Calendar

Turns a spreadsheet of events into calendar files — one for the whole schedule, and one for each row.

  • SECURE
  • NO UPLOADS
  • NO SIGNUP
  • BROWSER BASED
  • FREE
  • FOREVER.

Support us with a link or a share

Drop your .xlsx or .csv schedule

or paste Ctrl+V

Read in this tab. Nothing is uploaded.

№ 4427waiting

Paste a schedule with a header row, or drop a spreadsheet. Nothing is uploaded — the files are built in this tab.

What Excel to Calendar means here, and what it does not

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 workbook and a calendar file, in brief

XLSX
Full name Office Open XML Workbook
Extension .xlsx
Format type Spreadsheet — a ZIP archive of XML parts
MIME type application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
ICS
Full name iCalendar
Extension .ics, .ical, .ifb
Format type Plain text calendar events, RFC 5545
MIME type text/calendar

What your sheet needs, and what it does not

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 subject all read as the title; starts, date and from all read as the start.

What it will not do is guess. A sheet whose headers it does not recognize 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.

Which tab it reads, and how you change it

A real conference workbook is rarely one sheet. There is a front page nobody reads, a list of speakers, a budget somebody added, and then — three tabs in — the program itself. So the workbook is opened whole and every sheet is examined: the one carrying both a title and a start column is the one read, regardless of where it sits or which tab was open when the file was saved.

Detecting it silently would not be enough, because a detection with no control over it is only a quieter guess. The sheet that was chosen is named above the schedule, before you export anything, and a dropdown next to it lists every sheet in the workbook with its row count and the calendar columns found on it, so you can read a different one. Switching costs nothing — the archive is unpacked once and all of it is kept, so changing tab, timezone or reminder rebuilds from what is already in memory.

A workbook with a single sheet gets no dropdown, because there would be nothing to choose between. And when no sheet has both a title and a start, that is what you are told: the tool says which columns are missing and on which sheet, instead of producing a row of untitled events that reads like a fault in your data rather than in our reading of it.

The header row is rarely the first row, either

Open any schedule that has been through more than one pair of hands and the top of it is not title | start | end. It is a banner — a project name, a quarter, the word DRAFT, often stretched across the width as one merged cell — then a blank line, and only then the column names. That is not an unusual workbook. It is close to the normal one, because a spreadsheet is a document to the person who made it before it is a table to anything reading it.

A converter that takes the first row as the header row reads that banner as a column name and finds no title and no start anywhere. The result is worse than nothing: it reports that your sheet is missing the columns it plainly has, which sends you back to check a file that was fine. So the header row is looked for rather than assumed. The row that names calendar columns wins outright, and when nothing is recognizable by name the shape decides — a banner fills one cell of a wide sheet, a header row fills most of them.

What was skipped is then quoted back to you above the schedule, in its own words rather than as a row number. That is deliberate: a completely empty row is not stored in the file at all, so any row number counted here would be off by one against the row numbers you can see in Excel — and a figure you cannot check is worse than no figure.

And the guess is a starting point rather than a verdict. A dropdown lists the top rows of the sheet with what is actually written in each, so you can point at a different one, and the values move with your choice: the header cells sit above two real rows from the table, exactly as they will be read. That preview is the part that matters. A wrong header row is invisible in a row number and obvious the moment you see your own first appointment sitting in the column headings.

There is also a no header row option, and it exists for a specific failure. A sheet that genuinely has no headings starts with real data, and anything that insists on a header row will eat that first appointment to get one — one event short, with nothing on screen to suggest it. Choosing no header row keeps every row as data. This tool then cannot build anything, because it will not match columns by their position, and it says so instead: an explanation beats an entry that quietly never arrived.

Dates, and the format this refuses to interpret

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.

One file, or one per row — you get both

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.

Nothing about your schedule leaves the tab

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, the ICS file generator is the same machinery with a form instead of a table.

Have an idea for this tool?

Tell us what would make this tool more useful, or suggest another tool you would like us to build.

Questions

Is this for making a calendar layout in Excel?

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.

What columns does my spreadsheet need?

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.

My events are on the third tab, not the first. Will it find them?

Yes. The workbook is opened whole and every sheet is looked at, then the one with a title and a start column is the one read — not the first tab, and not the tab that happened to be open when you saved. Which sheet was chosen is printed above the schedule before you export anything, and a dropdown next to it lets you read a different one; the file is not unpacked again when you switch. If no sheet has both columns, the tool says so rather than building a pile of untitled events.

How should I write the dates?

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.

Do I get one file or many?

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.

Is my spreadsheet uploaded?

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.