Shift pattern generator
Type a pattern one code per day, choose a start date, how many days to lay out and how many teams run it. Each team starts further along the pattern, so between them the days are covered.
| Date | Team A | Team B | Team C | Team D |
|---|---|---|---|---|
| Mon, 4 Jan 2027 | D | N | O | O |
| Tue, 5 Jan 2027 | D | N | O | O |
| Wed, 6 Jan 2027 | N | O | O | D |
| Thu, 7 Jan 2027 | N | O | O | D |
| Fri, 8 Jan 2027 | O | O | D | N |
| Sat, 9 Jan 2027 | O | O | D | N |
| Sun, 10 Jan 2027 | O | D | N | O |
| Mon, 11 Jan 2027 | O | D | N | O |
| Tue, 12 Jan 2027 | D | N | O | O |
| Wed, 13 Jan 2027 | D | N | O | O |
| Thu, 14 Jan 2027 | N | O | O | D |
| Fri, 15 Jan 2027 | N | O | O | D |
| Sat, 16 Jan 2027 | O | O | D | N |
| Sun, 17 Jan 2027 | O | O | D | N |
| Mon, 18 Jan 2027 | O | D | N | O |
| Tue, 19 Jan 2027 | O | D | N | O |
| Wed, 20 Jan 2027 | D | N | O | O |
| Thu, 21 Jan 2027 | D | N | O | O |
| Fri, 22 Jan 2027 | N | O | O | D |
| Sat, 23 Jan 2027 | N | O | O | D |
| Sun, 24 Jan 2027 | O | O | D | N |
| Mon, 25 Jan 2027 | O | O | D | N |
| Tue, 26 Jan 2027 | O | D | N | O |
| Wed, 27 Jan 2027 | O | D | N | O |
| Thu, 28 Jan 2027 | D | N | O | O |
| Fri, 29 Jan 2027 | D | N | O | O |
| Sat, 30 Jan 2027 | N | O | O | D |
| Sun, 31 Jan 2027 | N | O | O | D |
A worked example
Two day shifts, two night shifts and four days off, run by four teams from Monday 4 January 2027. Each team starts two days further along the pattern, so on every day one team is on days and one is on nights.
| Date | Team A | Team B | Team C | Team D |
|---|---|---|---|---|
| Mon 4 Jan | D | N | O | O |
| Tue 5 Jan | D | N | O | O |
| Wed 6 Jan | N | O | O | D |
| Thu 7 Jan | N | O | O | D |
How it is worked out
Team k starts k × cycle length ÷ teams days along the pattern, rounded. On day n it uses the code at position (n + its offset), wrapping back to the start of the pattern.
What this tool cannot tell you
- Rest breaks between shifts, or limits on consecutive days and hours
- Leave, availability or who belongs to each team
- Public holidays that fall inside the pattern
Questions
How do I write a pattern?
One code per day, separated by spaces, such as D D N N O O O O for two days, two nights and four days off. Any letters work.
What does the number of teams do?
Each team runs the same pattern starting further along it, spaced evenly, so four teams on an eight day pattern cover every day and every night between them.
Does the pattern meet rest break rules?
The generator does not check. Breaks between shifts and limits on hours come from the award or agreement, so check the pattern against those before using it.