Plan a staff rota or shift roster in minutes: fill it with a rotation such as 2-2-3, 4 on 4 off or DuPont, tap to change any day, and see hours, daily cover and rest gaps. Print it, or export to Excel, CSV and a calendar file for each person. Free, and nothing is uploaded.
1 to 8 weeks: 28 days
4 people
28 days: 4 nights, 3 off, 3 days, 1 off, 3 nights, 3 off, 4 days, 7 off. Four crews a week apart: one on days and one on nights every day; 42 hours a week on average with 12-hour shifts. Sequence: NNNNOOODDDONNNOOODDDDOOOOOOO.
Moves everyone along the cycle
Tap a cell to
Roster from 2026-01-05 to 2026-02-01
Name
Mo5 Jan
Tu6
We7
Th8
Fr9
Sa10
Su11
Mo12
Tu13
We14
Th15
Fr16
Sa17
Su18
Mo19
Tu20
We21
Th22
Fr23
Sa24
Su25
Mo26
Tu27
We28
Th29
Fr30
Sa31
Su1 Feb
Hours
Asha
0
Ben
0
Chitra
0
Dev
0
On Day
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
On Night
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Scroll the table sideways on a phone. Totals use each shift's paid hours; print in landscape for a wall copy.
Hours
Name
Shifts
Nights
Hours
Per week
Asha
0
0
0
0
Ben
0
0
0
0
Chitra
0
0
0
0
Dev
0
0
0
0
Checks
per day
per day
per day
per day
hours
11 in the UK and EU (12 for under-18s)
2026-01-05: 0 on Day, 1 needed
2026-01-05: 0 on Night, 1 needed
2026-01-06: 0 on Day, 1 needed
2026-01-06: 0 on Night, 1 needed
2026-01-07: 0 on Day, 1 needed
2026-01-07: 0 on Night, 1 needed
2026-01-08: 0 on Day, 1 needed
2026-01-08: 0 on Night, 1 needed
2026-01-09: 0 on Day, 1 needed
2026-01-09: 0 on Night, 1 needed
2026-01-10: 0 on Day, 1 needed
2026-01-10: 0 on Night, 1 needed
2026-01-11: 0 on Day, 1 needed
2026-01-11: 0 on Night, 1 needed
2026-01-12: 0 on Day, 1 needed
2026-01-12: 0 on Night, 1 needed
2026-01-13: 0 on Day, 1 needed
2026-01-13: 0 on Night, 1 needed
2026-01-14: 0 on Day, 1 needed
2026-01-14: 0 on Night, 1 needed
2026-01-15: 0 on Day, 1 needed
2026-01-15: 0 on Night, 1 needed
2026-01-16: 0 on Day, 1 needed
2026-01-16: 0 on Night, 1 needed
2026-01-17: 0 on Day, 1 needed
2026-01-17: 0 on Night, 1 needed
2026-01-18: 0 on Day, 1 needed
2026-01-18: 0 on Night, 1 needed
2026-01-19: 0 on Day, 1 needed
2026-01-19: 0 on Night, 1 needed
2026-01-20: 0 on Day, 1 needed
2026-01-20: 0 on Night, 1 needed
2026-01-21: 0 on Day, 1 needed
2026-01-21: 0 on Night, 1 needed
2026-01-22: 0 on Day, 1 needed
2026-01-22: 0 on Night, 1 needed
2026-01-23: 0 on Day, 1 needed
2026-01-23: 0 on Night, 1 needed
2026-01-24: 0 on Day, 1 needed
2026-01-24: 0 on Night, 1 needed
…and 16 more
Shift codes and times
Code
Name
Start
End
Unpaid break (min)
Paid hours
Colour
Remove
12
12
8
8
Day off
Day off
Save and share
Opens in Google Calendar, Outlook and Apple Calendar: each shift at its local time, days off left out.
The roster is saved in this browser as you go. Nothing is uploaded.
Worked example: DuPont with four people
Fill four people with DuPont for 28 days and each works 14 twelve-hour shifts (7 of them nights): 168 hours, or 42 hours a week on average. Every day has exactly one person on days and one on nights, and the checks find no rest gaps under 11 hours and no 7-day runs.
Rotation patterns
Pattern
Cycle
Crews for full cover
2-2-3 (Pitman / Panama), days
DDOODDDOODDOOO (14 days)
2
2-2-3, rotating days and nights
DDOODDDOODDOOONNOONNNOONNOOO (28 days)
4
4 on, 4 off, days
DDDDOOOO (8 days)
2
4 on, 4 off, days and nights
DDDDOOOONNNNOOOO (16 days)
4
DuPont
NNNNOOODDDONNNOOODDDDOOOOOOO (28 days)
4
5 on, 2 off (Monday to Friday)
DDDDDOO (7 days)
Everyone
3 on, 3 off
DDDOOO (6 days)
2
D = day, N = night, O = off. Crews start a whole fraction of the cycle apart (a week apart for 28-day cycles), which is what gives even cover.
Rest rules used by the checks
In the UK (Working Time Regulations 1998) and the EU (Working Time Directive), adult workers are owed 11 consecutive hours' rest in each 24 hours, and 24 hours' rest each week or 48 hours each fortnight. Young workers get 12 hours a day and 48 hours a week.
Shift work can have exceptions with compensatory rest, and other countries set their own limits: set the minimum rest to what applies to your team.
Patterns and rest rules checked on 19 October 2026. A planning aid, not legal advice.
Frequently asked questions
How do I make a rota quickly?
Type your team's names one per line, choose the first day and how many weeks, then pick a rotation and press Fill the roster. Tap any cell to change it: choose a code under “Tap a cell to” and tap the days to paint it, or leave it on Cycle codes to step through them.
Which shift pattern should I use?
For round-the-clock cover with 12-hour shifts, 2-2-3, 4 on 4 off and DuPont each need four crews. 2-2-3 started on a Monday gives every other weekend as a three-day weekend off; DuPont gives a full week off every four weeks, paid for with one 72-hour week; 4 on 4 off is the simplest to remember. For office hours, use 5 on 2 off. Each pattern's sequence is shown, because the names are used loosely.
How are hours worked out?
From each shift's start and end time (a shift that ends earlier than it starts runs overnight), less its unpaid break. Set the times and breaks under Shift codes and times; the totals and weekly averages update straight away.
What do the checks look for?
Days with fewer people on a shift than you need, less rest between two shifts than your minimum (11 hours by default, the daily rest in the UK and EU working time rules), and anyone working 7 days in a row. They're reminders: shift work can have exceptions, so check the rules where you are.
Can each person get their shifts in their calendar?
Yes. Choose a name under “Calendar file for” and download the .ics file: it opens in Google Calendar, Outlook and Apple Calendar with each shift at its local start and end time.
Where is my roster saved?
In this browser, as you edit, so it's there when you come back on the same device. To move it to another device or keep a copy, use Save roster file and Open roster file. Nothing is uploaded.