Formula used
For each working day, scheduled minutes are calculated from the shift start and end times. If the end time is earlier than the start time, the shift crosses midnight.
- Duration (minutes) = (End − Start) or (End − Start + 1440) if overnight.
- Paid minutes = max(0, Duration − Break minutes).
- Total hours = sum(Paid minutes) ÷ 60.
- Weekly overtime = max(0, Weekly hours − Threshold).
How to use this calculator
- Pick a cycle start date and how many days to generate.
- Select a preset, or enter a custom pattern like D,N,O.
- Set start, end, and break minutes for each shift.
- Choose a weekly overtime threshold for your rules.
- Generate the schedule, then export CSV or PDF.
Example data table
This sample shows a simple four-day cycle followed by off days.
| Date | Day | Code | Shift | Start | End | Break (min) | Hours |
|---|---|---|---|---|---|---|---|
| 2026-03-02 | Mon | D | Day | 08:00 | 20:00 | 45 | 11.25 |
| 2026-03-03 | Tue | D | Day | 08:00 | 20:00 | 45 | 11.25 |
| 2026-03-04 | Wed | D | Day | 08:00 | 20:00 | 45 | 11.25 |
| 2026-03-05 | Thu | D | Day | 08:00 | 20:00 | 45 | 11.25 |
| 2026-03-06 | Fri | O | Off | 0 | 0.00 |
Cycle design and rotation logic
Rotations turn a short code sequence into a full roster. The calculator repeats your pattern (for example, D,D,N,N,O,O,O,O) across the chosen range, so every date receives a shift or rest code. A 14‑ to 28‑day preview is usually enough to verify weekend coverage, handovers, and fairness before publishing. Generating 56 days lets you simulate two typical payroll cycles and compare staffing stability.
Hours accounting with break control
Each working day is measured in minutes and converted to hours. Break minutes are subtracted, so a 12‑hour span with a 45‑minute break becomes 11.25 paid hours. Different breaks per shift keep totals realistic, and the table rounds to two decimals for fast payroll reconciliation. Use this to validate timecards against planned hours.
Overnight shifts and midnight crossing
If an end time is earlier than the start time, the shift is treated as crossing midnight by adding 1,440 minutes to the raw difference. This keeps 20:00–08:00 consistent, supports security and emergency cover, and prevents negative durations when night work flows into the next calendar day.
Weekly totals and overtime visibility
Hours are summarized by ISO week and compared with your overtime threshold (default 40). Regular time is capped at the threshold; any excess is overtime. For example, 46.5 weekly hours produces 6.5 overtime hours. Weekly views help managers forecast labor cost and verify compliance targets. Adjust the threshold to match local rules such as 37.5 or 48.
Coverage, workload balance, and staffing signals
Coverage is the share of working days in the generated period. A 4‑on/4‑off cycle yields about 50% coverage, while 5‑on/2‑off trends near 71%. Combine coverage with average workday hours to spot fatigue risk, especially when several long nights occur back‑to‑back. Flag weeks above 60 hours to trigger relief staffing discussions early.
Export workflows for review and sharing
CSV exports open cleanly in spreadsheets for sorting by date, shift, or hours. PDF exports preserve layout for approvals and recordkeeping. Use exports to compare versions, attach schedules to payroll batches, and share a stable snapshot with supervisors and staff for sign‑off. Keeping exports in a shared folder reduces last‑minute confusion.
FAQs
What pattern length should I use for rotating teams?
Use the shortest pattern that reflects real rotation rules. Common lengths are 7, 8, 10, 14, and 28 days. Longer views help validate weekends and handover spacing.
How does the calculator handle overnight shifts?
If the end time is earlier than the start time, the shift is treated as crossing midnight. The duration is calculated with an added 1,440 minutes, then break time is subtracted.
Is overtime calculated per day or per week?
Overtime is calculated per ISO week using your threshold. Each week’s hours are split into regular hours up to the threshold and overtime hours above it.
Can I model different break times by shift type?
Yes. Day, Evening, and Night shifts each have their own break input. This makes the schedule closer to reality and improves accuracy when comparing planned hours with payroll.
What do I do if I enter an unknown code in the pattern?
Unknown codes are treated as Off for safety. Replace them with D, E, N, or O to ensure correct time calculations and clean exports.
Why export both CSV and PDF?
CSV is best for analysis, filtering, and editing in spreadsheets. PDF is best for approvals and recordkeeping because it preserves the schedule layout across devices.