Start time, end time, unpaid break. You get the hours worked in h:mm and in decimal for a timesheet, and an overnight shift is handled for you.
--:--h
0.00 hours
Enter a start time and an end time.
Crosses midnightWeek total 0:00 · 0.00 hours
No shifts added yet
Type the two times and your unpaid break. The hours update as you type. Times can be entered the way you already write them: 1900, 19:00, 7:30 pm and 7p all read as the same time.
Overnight is automatic. If the end time is earlier than the start time, the shift is treated as crossing midnight, so 19:00 to 07:30 is 12 hours 30, never a negative number. A tag under the readout says when that has happened, so you can see the tool made that call rather than guessing.
Add to week keeps a running total. Add each shift as you work it out and the week total adds up in both formats. The list lives in this browser, so it is still there tomorrow on the same device.
Decimal hours are minutes divided by 60. Thirty minutes is 0.50 hours, not 0.30, and twenty minutes is 0.33. That is the number most timesheets and payroll systems want, which is why it sits under the h:mm figure.
We work out time, not pay. There is no pay box here on purpose. What you are owed depends on your contract, your shift differentials, your overtime rules and your tax, so any dollar figure this page printed would be a guess wearing the costume of an answer. Take the hours from here and put them into whatever your employer actually pays on.
The break box is unpaid time only. If your break is paid, leave it at 0, because that time still counts as hours worked. If you clocked out and back in, enter those minutes.
Rounding is yours to do. The figures here are exact to the minute. Some employers round to the nearest quarter hour, some to a tenth, and the rule differs by workplace, so this tool does not round for you.
You don't have to take our word for it. Every browser has a built-in panel that shows everything a page sends or receives over the internet. On a computer (this doesn't work on a phone):