Timesheets need net hours, not just the span between two clocks. Enter start, end, unpaid break, and a daily overtime threshold (default 8 hours). You get duration, decimal hours, regular hours, and overtime hours. Overnight shifts that end earlier than they start roll into the next day. This is hours only — not wage law advice.
Net duration8h 00m
Decimal hours8
Regular hours8
Overtime hours0
Net minutes480
How this calculation works
Times are 24-hour HH:MM. Minutes since midnight are subtracted; if end < start, 24 hours are added (night shift).
Unpaid break minutes are subtracted. The result is floored at zero so a break longer than the shift does not go negative.
If net hours exceed the overtime threshold, overtime = net − threshold and regular = threshold. Otherwise overtime is 0.
The threshold is yours (8, 7.5, 12). It is not a country’s statutory daily OT rule. Pair with the overtime-pay calculator for money.
Worked example
09:00–19:30 with a 30-minute break and an 8-hour threshold: net 10 hours → 8 regular + 2 overtime, shown as 10h 00m.
Frequently asked questions
Is the 8-hour line a legal overtime trigger?
It is only the number you type. US weekly OT, Korean 연장근로, and EU limits differ. Change the threshold to match the rule you are applying.
Paid breaks?
Set break minutes to 0 if the break counts as worked time. Unpaid lunch is the usual subtraction.
Multiple breaks?
Add their minutes together in the break box.
Seconds or AM/PM?
Use 24-hour HH:MM (17:30 not 5:30 PM). Seconds are ignored.
Weekly overtime?
This is one shift. Sum several days, then apply a weekly threshold by hand or with overtime-pay hours fields.