Personal shift tool
Rotating shift calendar generator
Choose the first day of your known cycle. The generator repeats the pattern forward and shows the actual dates you work.
Your rotation
Start with one date you know.
The anchor date is Day 1 of the selected cycle—not necessarily your next shift.
Repeating cycle
Next work dates
What comes next
This tool repeats the exact cycle you choose. It does not know about swaps, overtime, leave, or changes made by your employer. Nothing you enter is stored or sent anywhere.
Worked example
2-2-3 example: Day 1 is 7 September 2026
With Monday, 7 September 2026 as Day 1, Monday and Tuesday are work days, followed by two days off, three work days, two days off, two work days, and three days off. Day 15, 21 September, returns to Day 1. W means work and O means off.
WWOO WWWOO WWOOO → repeat
| Date (YYYY-MM-DD) | Cycle day | Assignment |
|---|---|---|
| 2026-09-07 | 1 | Work |
| 2026-09-08 | 2 | Work |
| 2026-09-09 | 3 | Off |
| 2026-09-10 | 4 | Off |
| 2026-09-11 | 5 | Work |
| 2026-09-12 | 6 | Work |
| 2026-09-13 | 7 | Work |
How the generator assigns a date to a cycle day
Count calendar days from the anchor, then wrap that count through the selected cycle. For a 14-day cycle, an offset of 14 returns to the first symbol. Dates before the anchor wrap backwards.
Zero-based cycle index = ((elapsed days % cycle length) + cycle length) % cycle length. Here % means remainder, and index 0 is Day 1. Date-only arithmetic uses UTC internally to avoid daylight-saving shifts; it does not calculate elapsed working hours or overnight end times.
The numbers describe work and off blocks. They do not determine whether you work days or nights. If your roster assigns both, use a custom cycle with D, N, and O.
Read the complete 2-2-3 shift schedule explanation, compare a 4-on-4-off schedule or four-day 2-on-2-off cycle, or learn how rotating shifts fit into an iPhone calendar.