CSV to ICS Converter
Turn a spreadsheet of events into a calendar file your apps will import.
runs entirely in your browserDrag a .csv file anywhere onto this box, or paste the rows below. The first row must be the column headers. It never leaves your browser.
need more advanced event creation? Just Schedule Me builds calendar events for you — from a screenshot, a photo, or a line of text.
From a column of dates to a calendar
Spreadsheets are where schedules actually get made: a conference agenda, a shift rota, a term's worth of deadlines, a list of invoices due. Calendars are where they need to end up. The gap between the two is the .ics file, and this converter is the bridge — paste the rows, check the columns, download the calendar.
The column headers are read and matched for you. A Google Calendar export (Subject, Start Date, Start Time, End Date, End Time, All Day Event, Description, Location) maps with nothing to configure, and headers that merely resemble those — "Event Title", "Begin Date", "Notes", "Venue" — are matched too. When the guess is wrong, every field has a dropdown to point it at the right column, and the preview updates as you change it.
Commas inside quoted cells, semicolon- and tab-separated files, doubled quotes, and values that span multiple lines are all handled the way the CSV standard says they should be, so a real export from a real spreadsheet does not need cleaning up first.
Nothing disappears quietly
The failure mode of most CSV converters is silence: you hand over forty rows, you get back a calendar with thirty-one events, and nothing tells you which nine went missing or why. Here every row that cannot be converted is listed by its line number with the actual reason — a missing title, a date that does not match the selected order, an end time before the start.
That means the count you see is the count you get, and a broken row is a five-second fix rather than a mystery you discover weeks later when someone misses a meeting.
Dates are the usual culprit, so the US/EU order is detected from your own data: if a value like 15/06/2026 appears, day-first is chosen automatically, because 15 cannot be a month. You can override it, and the whole preview re-reads instantly.
Times that land in the right place
A spreadsheet time is a wall-clock time with no zone attached — "09:00" means nine in the morning wherever the schedule was written. Pick that zone once and every row is converted to an exact instant, so the events arrive at nine for the people who should see nine, not at whatever nine meant on the machine that made the file.
Rows with no start time become all-day events, and a truthy value in an "All Day Event" column forces that too. All-day events are written as date-only values, which keeps a one-day event on its own day instead of stretching it across midnight in another zone.
The conversion runs entirely in your browser: the file is never uploaded, there is no account, and there is no row limit. Most "CSV to ICS" sites process the file on their server; here the only machine that reads your schedule is yours.
fair questions
- How do I convert a CSV to an ICS file?
- Paste the CSV or drop the file onto the page. The columns are detected, the events appear in a preview table, and Download .ics saves the calendar. Open that file in Google Calendar, Apple Calendar, or Outlook to import the events.
- What columns does my CSV need?
- A title and a start date are the minimum. Start time, end date, end time, all-day, description, and location are all used when present. The first row must be the headers; the names do not have to match exactly, and you can remap any field by hand.
- Can I convert an Excel file?
- Export it as CSV first — Excel's .xlsx is a compressed binary format, not plain text. In Excel or Google Sheets choose File, then Download or Save As, and pick CSV. Semicolon- and tab-separated exports work here too.
- Why did some rows not convert?
- They are listed under the preview with the line number and the reason: usually a missing title, a date that does not match the selected day/month order, or an end time that is not after the start. Fix the row or change the mapping and it converts immediately.
- How are dates like 03/02/2026 read?
- By the date order shown above the preview, which is auto-detected from your data — a value with a first part above 12 can only be day-first, so the whole file is read that way. You can switch between MM/DD/YYYY and DD/MM/YYYY at any time.
- Is my spreadsheet uploaded?
- No. The CSV is parsed and converted entirely in your browser and never sent to a server, so the converter keeps working offline once the page has loaded and the schedule stays on your device.