Shift Length & Rest Calculator
Paste a roster: each shift’s length and paid time (overnight handled), the rest to the next shift, weekly hours, and flags against the limits you set.
A shift table with length, break, paid time and rest to the next shift, weekly totals from your week start, the longest shift and shortest rest, and every breach of your limits flagged.
Example: 22:00–06:00 with a 30-minute break is 8:00 long, 7:30 paid; followed by 14:00 the same day the rest is 8:00, flagged under an 11-hour minimum; a 10-hour shift is flagged over a 9-hour maximum.
Length, rest,
week — and flags.
How each figure is derived from the roster and what the limits mean.
Shifts
One line per shift: a date, a start and an end time, and an optional unpaid break in minutes (or the default you set). Length = end − start, with an end at or before the start read as the next day; paid time = length − break. Shifts are sorted by start, and the rest after each is the gap to the next shift’s start — negative when they overlap, which is flagged.
Weeks
Each shift belongs to the week its start falls in, weeks beginning on the day you choose; the week total is the paid time of its shifts. The longest shift and the shortest rest across the roster are shown for a quick read.
Limits
Minimum rest, maximum shift length and maximum weekly hours are the figures you enter — a contract, a policy or a rule you have looked up — and every breach is listed against the shift or week that caused it. No statutory working-time rule, time zone or daylight-saving change is applied. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.
SOURCES
- length = end − start (+24 h when the end is not after the start), paid = length − break, rest = next start − this end in date order, weeks from the chosen weekday; limits are the user’s, none embedded
Last reviewed 21 September 2026. How results are checked: How we verify.