AnyFormat

00 CSV → ICS

CSV to ICS

Turns a schedule in a spreadsheet into an importable calendar.

01CSV in
02ICS out
03Options 1
  • No upload The conversion runs in this tab. Your file never travels — not to us, and not to the advertising.
  • No sign-up, no email, no daily cap There is no account system to sign up to.
  • No size limit we invented Only your device's memory — about ~2 GB on a desktop browser, ~400 MB on a phone.
  • Turn your Wi-Fi off and convert anyway The conversion needs nothing but this page. Ads will not load without a connection; your file will still convert. That is the whole claim, and it takes five seconds to check.

Turns a list of events in a spreadsheet into a real calendar file. The usual case is a schedule someone maintains in Excel — a conference programme, a shift rota, a term timetable — that everyone else needs in their own calendar.

Which columns are recognised

Column names are matched loosely, ignoring case, spaces and punctuation, so exports from different tools generally work as they are.

Required: a start date, from a column named Start Date, Start or Date.

Recognised: Subject / Summary / Title / Event, Start Time, End Date, End Time, Description / Notes, Location / Where, Categories / Tags.

A row with no readable start date is skipped and counted rather than producing a broken event.

Date formats, and the one that is refused

YYYY-MM-DD and MM/DD/YYYY are both accepted, as is YYYYMMDD. Times may be 24-hour (14:00) or 12-hour with a meridiem (2:00 PM).

DD/MM/YYYY is deliberately not supported, and this is worth being blunt about: 03/04/2026 is the 4th of March to an American and the 3rd of April to everyone else, and there is nothing in the file that says which. A converter that guesses will silently put a third of your events on the wrong day. Use YYYY-MM-DD, which is unambiguous everywhere.

A row with a date but no time becomes an all-day event, which is almost always what was meant.

Time zones

Times are written without a zone, so a calendar application reads them as local time on the importing machine. That is correct for a rota or a timetable where everyone is in one place, and wrong for an event that people in several countries will attend — for that, put the times in UTC first and say so in the event title.

Re-importing without duplicating

Each event is given an identifier derived from its row and its subject, so importing the same file twice updates the existing events rather than creating a second copy. Change a title and it becomes a new event on the next import — which is the honest behaviour, since a calendar has no way to know it is the same meeting renamed.

Other names for this

Also searched as “csv to calendar”, “excel to ics”, “spreadsheet to calendar”.

Questions

My dates are in DD/MM/YYYY.
Reformat them to YYYY-MM-DD first. DD/MM and MM/DD are indistinguishable in a file, and guessing would put events on the wrong day about a third of the time.
How do I import the result?
Google Calendar: Settings → Import & export. Outlook: File → Open & Export → Import/Export. Apple Calendar: File → Import, or just double-click the file.
Some rows were skipped.
They had no readable start date. The tool reports how many, and the rest are converted normally.
Can I create recurring events?
Not from a CSV column yet — every row becomes a single event. A repeat rule needs its own syntax that a spreadsheet cell cannot express clearly.
Is my file uploaded?
No. Everything runs in this tab. That matters more here than almost anywhere else on the site — a calendar is your movements, an address book is other people’s personal data, and a GPS track is where you live and where you run. None of it is sent anywhere.