Shift Rotation Calendar
Your roster repeats every few weeks but your calendar does not know it. Write the pattern once and get every shift as a calendar file.
Working days planned
44
40 days off. The cycle is 8 days long with 4 working.
| Date | Day | Shift | Hours |
|---|---|---|---|
| 2026-11-02 | Mon | Day shift | 07:00–15:00 |
| 2026-11-03 | Tue | Day shift | 07:00–15:00 |
| 2026-11-04 | Wed | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-05 | Thu | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-06 | Fri | Day off | — |
| 2026-11-07 | Sat | Day off | — |
| 2026-11-08 | Sun | Day off | — |
| 2026-11-09 | Mon | Day off | — |
| 2026-11-10 | Tue | Day shift | 07:00–15:00 |
| 2026-11-11 | Wed | Day shift | 07:00–15:00 |
| 2026-11-12 | Thu | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-13 | Fri | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-14 | Sat | Day off | — |
| 2026-11-15 | Sun | Day off | — |
| 2026-11-16 | Mon | Day off | — |
| 2026-11-17 | Tue | Day off | — |
| 2026-11-18 | Wed | Day shift | 07:00–15:00 |
| 2026-11-19 | Thu | Day shift | 07:00–15:00 |
| 2026-11-20 | Fri | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-21 | Sat | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-22 | Sun | Day off | — |
| 2026-11-23 | Mon | Day off | — |
| 2026-11-24 | Tue | Day off | — |
| 2026-11-25 | Wed | Day off | — |
| 2026-11-26 | Thu | Day shift | 07:00–15:00 |
| 2026-11-27 | Fri | Day shift | 07:00–15:00 |
| 2026-11-28 | Sat | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-29 | Sun | Night shift | 22:00–06:00 (+1 day) |
| 2026-11-30 | Mon | Day off | — |
| 2026-12-01 | Tue | Day off | — |
| 2026-12-02 | Wed | Day off | — |
| 2026-12-03 | Thu | Day off | — |
| 2026-12-04 | Fri | Day shift | 07:00–15:00 |
| 2026-12-05 | Sat | Day shift | 07:00–15:00 |
| 2026-12-06 | Sun | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-07 | Mon | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-08 | Tue | Day off | — |
| 2026-12-09 | Wed | Day off | — |
| 2026-12-10 | Thu | Day off | — |
| 2026-12-11 | Fri | Day off | — |
| 2026-12-12 | Sat | Day shift | 07:00–15:00 |
| 2026-12-13 | Sun | Day shift | 07:00–15:00 |
| 2026-12-14 | Mon | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-15 | Tue | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-16 | Wed | Day off | — |
| 2026-12-17 | Thu | Day off | — |
| 2026-12-18 | Fri | Day off | — |
| 2026-12-19 | Sat | Day off | — |
| 2026-12-20 | Sun | Day shift | 07:00–15:00 |
| 2026-12-21 | Mon | Day shift | 07:00–15:00 |
| 2026-12-22 | Tue | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-23 | Wed | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-24 | Thu | Day off | — |
| 2026-12-25 | Fri | Day off | — |
| 2026-12-26 | Sat | Day off | — |
| 2026-12-27 | Sun | Day off | — |
| 2026-12-28 | Mon | Day shift | 07:00–15:00 |
| 2026-12-29 | Tue | Day shift | 07:00–15:00 |
| 2026-12-30 | Wed | Night shift | 22:00–06:00 (+1 day) |
| 2026-12-31 | Thu | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-01 | Fri | Day off | — |
| 2027-01-02 | Sat | Day off | — |
| 2027-01-03 | Sun | Day off | — |
| 2027-01-04 | Mon | Day off | — |
| 2027-01-05 | Tue | Day shift | 07:00–15:00 |
| 2027-01-06 | Wed | Day shift | 07:00–15:00 |
| 2027-01-07 | Thu | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-08 | Fri | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-09 | Sat | Day off | — |
| 2027-01-10 | Sun | Day off | — |
| 2027-01-11 | Mon | Day off | — |
| 2027-01-12 | Tue | Day off | — |
| 2027-01-13 | Wed | Day shift | 07:00–15:00 |
| 2027-01-14 | Thu | Day shift | 07:00–15:00 |
| 2027-01-15 | Fri | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-16 | Sat | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-17 | Sun | Day off | — |
| 2027-01-18 | Mon | Day off | — |
| 2027-01-19 | Tue | Day off | — |
| 2027-01-20 | Wed | Day off | — |
| 2027-01-21 | Thu | Day shift | 07:00–15:00 |
| 2027-01-22 | Fri | Day shift | 07:00–15:00 |
| 2027-01-23 | Sat | Night shift | 22:00–06:00 (+1 day) |
| 2027-01-24 | Sun | Night shift | 22:00–06:00 (+1 day) |
How it works
- List your shifts, one per line: a short code, the hours and a name, for example D 07:00-15:00 Day.
- Write the repeating pattern with those codes and a dash for a day off, for example D D N N - - - -.
- Pick the first date, how many days to plan and where that first day falls in the cycle.
- Download the .ics file and import it into Google Calendar, Apple Calendar or Outlook.
What people use it for
Nurses and carers
Turn a four-on, four-off pattern into the next three months of shifts in one import.
Factory and warehouse teams
Share a day, night, rest cycle with the whole crew as one file instead of a spreadsheet.
Planning life around a roster
See which weekends are free before you book a trip.
Questions
- How do I write a night shift that ends the next morning?
- Write it as it is worked: N 22:00-06:00. When the end time is earlier than the start time, the shift ends the following day, and the calendar event is created that way.
- Which time zone does the file use?
- None. The events carry floating local times, so 07:00 stays 07:00 in whatever calendar opens the file. If you travel, import it again after changing the calendar time zone rather than trusting the old events to move.
- What if I start in the middle of the cycle?
- Set “First day is day number” to the position of your first date in the pattern. In D D N N - - - -, a first day of 3 starts on the first night shift.