Rotating shift generator
48/96 Shift Schedule — Free Firefighter Calendar Generator
The 48/96 rotation — written 48-96, 48 96, or 48 on 96 off — runs two 24-hour tours back to back, then four full days off.
October 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23On duty | 24On duty | 25 |
| 26 | 27 | 28 | 29On duty | 30On duty | 31 |
November 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4On duty | 5On duty | 6 | 7 | 8 |
| 9 | 10On duty | 11On duty | 12 | 13 | 14 | 15 |
| 16On duty | 17On duty | 18 | 19 | 20 | 21 | 22On duty |
| 23On duty | 24 | 25 | 26 | 27 | 28On duty | 29On duty |
| 30 |
December 2026
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4On duty | 5On duty | 6 | |
| 7 | 8 | 9 | 10On duty | 11On duty | 12 | 13 |
| 14 | 15 | 16On duty | 17On duty | 18 | 19 | 20 |
| 21 | 22On duty | 23On duty | 24 | 25 | 26 | 27 |
| 28On duty | 29On duty | 30 | 31 |
January 2027
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3On duty | ||||
| 4On duty | 5 | 6 | 7 | 8 | 9On duty | 10On duty |
| 11 | 12 | 13 | 14 | 15On duty | 16On duty | 17 |
| 18 | 19 | 20 | 21On duty | 22On duty | 23 | 24 |
| 25 | 26 | 27On duty | 28On duty | 29 | 30 | 31 |
February 2027
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2On duty | 3On duty | 4 | 5 | 6 | 7 |
| 8On duty | 9On duty | 10 | 11 | 12 | 13 | 14On duty |
| 15On duty | 16 | 17 | 18 | 19 | 20On duty | 21On duty |
| 22 | 23 | 24 | 25 | 26On duty | 27On duty | 28 |
March 2027
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4On duty | 5On duty | 6 | 7 |
| 8 | 9 | 10On duty | 11On duty | 12 | 13 | 14 |
| 15 | 16On duty | 17On duty | 18 | 19 | 20 | 21 |
| 22On duty | 23On duty | 24 | 25 | 26 | 27 | 28On duty |
| 29On duty | 30 | 31 |
48/96 schedule: a complete 6-day example
This is the preset used by the generator above, with every crew shown side by side. Day 1 is the cycle reference date you enter, not necessarily the first working day for every crew. Day and night labels refer to the date a shift starts.
| Cycle day | Platoon A | Platoon B | Platoon C |
|---|---|---|---|
| Day 1 | On duty | Off | Off |
| Day 2 | On duty | Off | Off |
| Day 3 | Off | Off | On duty |
| Day 4 | Off | Off | On duty |
| Day 5 | Off | On duty | Off |
| Day 6 | Off | On duty | Off |
Hours and days off in this preset
Each crew has 2 work days and 4 off days per cycle. Scheduled hours are 48 ÷ 6 × 7 = 56 hours per week on average. This cycle average is not an individual workweek total or a payroll calculation.
Match this example to your real roster
- Compare a known work date with the day, night, and off assignments in the table.
- Set the matching cycle reference date and choose your crew in the generator.
- Check one full cycle against your existing roster before printing or sharing. Record leave, swaps, and additional cover separately.
A crew is a group following the same rotation, not a single employee. The calendar does not calculate how many qualified people each shift needs.
How the 48/96 schedule works
The 48 on 96 off rotation runs over 6 days: two consecutive 24-hour tours, then four days off. Three platoons offset by two days maintain continuous cover. Supporters like the long recovery block and reduced commuting; critics focus on fatigue during the second tour if the first night was busy.
Pros
- Four consecutive days off every cycle
- Fewer commutes than 24/48
- Simple 3-platoon structure
- Popular where staffing allows longer recovery blocks
Cons
- The second 24-hour tour can be rough after a busy first night
- More fatigue concentration during the on block
- Harder fit for departments with heavy call volume
Who uses the 48/96 pattern
Increasingly common in firefighter unions and departments evaluating quality-of-life schedule changes.
Check two consecutive tours as one operating block
The visible advantage of 48/96 is its four-day break, but the operational unit is the pair of tours before it. Review the duties that accumulate over those two days, including equipment checks, training, and known high-demand events. A calendar should not suggest that the second tour has the same capacity as the first without checking the actual workload.
Use a confirmed platoon reference date and publish the next several months. Because the cycle moves through weekdays, holidays and recurrent events do not always land on the same crew. Planning them early gives the team time to arrange any approved exception without breaking the base sequence.
Keep relief, swap, and handover decisions in one visible source. The pattern can be predictable while the exceptions become confusing, so record who approved a change and which platoon retains responsibility for the affected tour.
Pattern comparison
If you are deciding between nearby options, compare the weekly hours, longest work run, and biggest off block before you standardise the rota.
| Pattern | Avg hours / week | Longest work run | Longest off block | Day/night arrangement |
|---|---|---|---|---|
| 48/96 | 56 | 2 days | 4 days | Fixed shift per crew |
| 24/48 | 56 | 1 day | 2 days | Fixed shift per crew |
| Kelly | 56 | 1 day | 4 days | Fixed shift per crew |
| 2-2-3 | 42 | 3 days | 3 days | Fixed shift per crew |
Figures describe the presets on this site, including runs across the cycle boundary. Weekly hours are cycle averages; actual workweek totals vary with the reference date. Compare the shift sequence and required coverage, not just the length of the break.
Keep going
Related shift patterns
Frequently asked questions
Is 48/96 the same average hours as 24/48?
Yes. It still averages 56 hours a week because the ratio of 24-hour tours to days off is the same, only grouped differently.
Why do firefighters like 48/96?
Mostly for the four full days off in a row, which can improve family time, reduce commuting, and make recovery feel more meaningful.