Whether your pattern drifts is decided by one number
A rota repeats on its own cycle. The rest of the world repeats on seven days. Those two only stay in step if the cycle divides by seven.
That single fact splits every shift pattern into two kinds:
- 2-2-3, 14 days: divides by seven. Never drifts.
- DuPont, 28 days: divides by seven. Never drifts.
- 4 on 4 off, 16 days: does not. Takes 112 days to come back round.
- Continental, 8 days: does not. Takes 56 days.
And this is not a rounding detail. On 2-2-3 you can join a Saturday league, book a regular class, or agree to have the kids every other weekend, and it will still work in three years. On 4 on 4 off you cannot commit to anything weekly at all, because the same point in the cycle lands on a different day every time.
Every comparison of shift patterns talks about hours and days off. Look at the real ones and those are nearly identical: 4 on 4 off, 2-2-3, DuPont and continental all come out at 42 hours a week and roughly half the year off. This is what actually differs between them, and it is the one thing missing from the comparison.
What the drift looks like
The tool shows it directly rather than describing it, which days of the week day one of your cycle actually lands on across the run. An aligned pattern gives you one day. A drifting one gives you all seven.
That list is the abstract rule made concrete. Seven entries is what "your weekends move" means when you are trying to answer whether you can make it to something in April.
Whole weekends, not loose Saturdays
A single day off at a weekend is not a weekend off. A pattern can hand out plenty of loose Saturdays while giving very few complete weekends, and counting the two days separately is the flattering way to present it.
So the count that leads is whole weekends, meaning both the Saturday and the Sunday of the same week. The separate totals are there underneath, because they are worth seeing next to each other. On a drifting twelve hour pattern the gap between the two numbers is usually larger than people expect.
The file, and why the times do not move
The download is a standard .ics file, which every calendar app on every phone reads. Each shift goes in at its real start time with its real length, and a night shift crosses midnight properly rather than stopping at the end of the day.
It is built in your browser and handed straight to you. Nothing is uploaded, there is no account, and no server ever sees your rota.
One deliberate choice worth explaining. The times are written as floating local time, with no timezone attached. That means a 07:00 start is 07:00 in March and 07:00 in October, straight through the clock change.
Most exports write times in UTC instead, which is correct for a meeting between countries and wrong for a rota: it moves every shift by an hour twice a year, and it moves them in the direction that puts you at work an hour before you thought. A shift starting at seven starts at seven. Floating time is what a rota actually means.
Getting the start date right
The one input that matters is the first day of a block of shifts, not today. If you are four days into a run, count back to the day that run began.
Get it wrong and the calendar is not subtly off, it is offset by exactly that many days for its whole length. Check the first week against a rota you already have before trusting the rest of it.
One pattern, rolled forward from one date
It rolls one pattern forward from one date. It does not handle a crew changing pattern part way through, cover swaps, annual leave booked against the rota, or overtime. For whether the pattern itself is lawful there is the shift pattern generator, which runs the Working Time checks including the night work limits, and the rest breaks checker for a real week rather than a repeating one.
Common questions
Why do my days off keep moving?
Because your cycle does not divide by seven. A 16 day pattern like 4 on 4 off walks round the calendar: day one lands on a Monday, then a Wednesday, then a Friday, and it takes 112 days to come back to the same weekday. A 14 day pattern like 2-2-3 divides by seven, so it never moves at all.
Which shift patterns give the same weekends off every time?
Any pattern whose cycle divides by seven. 2-2-3 at 14 days and DuPont at 28 both do, so the same weekends come off permanently. 4 on 4 off at 16 days and continental at 8 days do not, so yours move every cycle.
Does the calendar file work on an iPhone or Android?
Yes. It is a standard .ics file, which is what every calendar app reads. Download it, open it, and each shift goes in at the right time with the right length. Nothing is uploaded and there is no account, because the file is built in your browser and handed straight to you.
What happens to my shifts when the clocks change?
Nothing, which is the correct answer and not the usual one. The times are written as floating local time with no timezone attached, so a 07:00 start is still 07:00 in March and in October. Exports that write times in UTC move every shift by an hour twice a year.
What date should I put as the first day of the cycle?
The first day of a block of shifts, not today. If you are four days into a run, count back to the day that run started. Get it wrong and the whole calendar is offset by the same amount.
Why count whole weekends rather than Saturdays and Sundays?
Because a single day off at a weekend is not a weekend off. A pattern can hand you plenty of loose Saturdays and almost no complete weekends, and counting them separately is the flattering way to present it. Both numbers are shown, with the whole weekends first.