CSVICSConverter

Schedule CSV to ICS: one calendar per person, class or room

A rota is one sheet but many calendars. Choose who each calendar belongs to, see every person’s lane, the overlaps and the hours, then send everyone a file with only their own shifts.

Samples

Sample loaded — replace it with your own file.

or paste from a spreadsheet

0 events Dates: —

Load a sample or drop a file to see it on the calendar.

Free · up to 2,000 events

Need more?

Look inside the .ics file

    

How it works

Split a roster in four steps

  1. Load the rotaOne row per shift with a person column. Dates and 12-hour times can be mixed.
  2. Choose the split columnStaff name, instructor, room, department or team. The lanes chart updates at once.
  3. Fix overlapsDouble-booked shifts are outlined on the calendar and counted in the Pro panel.
  4. Send the filesFree: one merged .ics. Pro: a ZIP with a personal .ics per person and a roster sheet.

The split is exact: if the sheet names eight people, the ZIP holds eight calendar files and one roster-summary.csv, and each file contains exactly as many events as that person has rows. Blank cells in the split column are grouped under “(unassigned)” so nobody’s shift disappears silently.

Examples

Rosters and schedules to split

The clinic roster has eight nurses and a deliberate overlap; the retail plan has five associates; the fixture list splits by home team; the course schedule splits by instructor or by room.

Medical Clinic Staff Shift Roster

8 nurses, day / evening / night and 12.5-hour long days across ER, ICU and Pediatrics, with one deliberate double-booking.

Retail Store Weekly Shift Plan

Five associates, cashier / stock / floor-lead roles and a 15-minute reminder column for one store week.

Youth Soccer League Fixture List

Four Saturdays of U12 fixtures with home and away teams, two fields and four different date formats in one column.

University Semester Course Schedule

Six fall sections with MWF, TuTh and every-other-Friday repeat rules, room numbers and Thanksgiving week to skip.

Who it is for

One sheet, many calendars

Hospitals and clinics

Day, evening, night and 12.5-hour long days across departments. Split by nurse for personal calendars or by department for the unit board.

Retail and hospitality

Weekly rotas with role columns and reminders. Associates get their own shifts with a 15-minute alert from the Alarm Minutes column.

Schools and colleges

Split a timetable by instructor for staff and by room for facilities. Build the timetable straight from the workbook with the Excel to ICS converter.

Sports leagues

Every coach wants only their team’s fixtures. Split by home team, or by field to check that two matches never share a pitch.

Before sending files to a team that imports into Google Calendar, read how to import a CSV schedule to Google Calendar — it explains why a separate calendar per roster makes changes easy to undo. For the exact properties each file carries, see the CSV to ICS field reference. Already have an exported calendar to check? The ICS to CSV converter totals its hours.

The roster sheet

What roster-summary.csv tells you

ColumnExample (clinic sample)Use
Staff Name · Calendar fileDana Ortiz · roster-dana-ortiz.icsWho receives which attachment
Events3Check against the person’s row count
Scheduled hours24.5Weekly hours caps, overtime checks
Day / night / weekend hours24.5 / 0 / 0Shift premiums and fairness
First / last event2026-11-02 07:00 · 2026-11-04 14:00Coverage window per person
Double-bookings1Fix before you send the files

Every personal file has its own X-WR-CALNAME, so it appears as “Clinic roster — Dana Ortiz” rather than a generic name, and a distinct COLOR so people subscribed to several rosters can tell them apart in Apple Calendar.

FAQ

Roster splitting questions

How do I give each employee only their own shifts?

Pick the column that names the person in “Split into one calendar per”. The preview shows how many calendars you will get and how many shifts each one holds. The split pack then writes one .ics per person — named “Clinic roster — Alice Chen”, with its own colour — plus roster-summary.csv listing who gets which file.

What counts as a double-booking?

Two events for the same person whose time ranges overlap by more than zero minutes. A shift ending at 3:00 PM and another starting at 3:00 PM do not overlap. When rooms are single-use (classrooms, courts, consulting rooms), switch the check to “the same person or the same room” to flag room clashes as well.

How are overnight shifts and daylight-saving changes counted?

A shift from 11:00 PM to 7:00 AM is treated as ending the next morning. Hours are measured between real instants in the chosen time zone, so a night shift across the November clock change in New York counts as 9 hours, not 8.

Can people subscribe instead of importing?

This site does not host calendars, so there is no subscription URL. Each person imports their file once. When the rota changes, send the new file: unchanged shifts keep the same UID and update in place in most calendar apps instead of duplicating.

How do day, night and weekend hours get classified?

Weekend means the shift starts on Saturday or Sunday. Night means a weekday shift starting at or after 7:00 PM or before 5:00 AM, or one that crosses midnight. Everything else is day. The rules are printed in the hours report so payroll can apply its own premiums.

Is there a limit on staff or rows?

The free merged calendar holds up to 2,000 events per file. The split pack handles up to 5,000 rows and any number of people; each person’s file contains exactly the rows that name them.

The converter family

Same engine, four starting points