Work Hours Calculator
How to calculate hours worked
This calculator works out hours worked from a start time, end time, and an unpaid break, in two modes: a single shift, or a full Monday-to-Sunday weekly timesheet with a running total. An end time earlier than the start time is treated as an overnight shift rather than an error, so late-night or graveyard shifts still calculate correctly.
How to use it
For a single day, enter your start time, end time, and break length in minutes — the result shows hours worked as both a duration (like "8h 0m") and decimal hours (like "8.00") for payroll-style math. For a weekly timesheet, fill in start, end, and break for each day you worked and leave the rest blank; each row totals itself, and the week sums at the bottom. Nothing is saved — the timesheet resets if you leave the page.
Example work shift
A 9:00 AM to 5:30 PM shift with a 30-minute break comes out to exactly 8 hours worked (8.00 decimal hours).
Weekly hours
Weekly timesheet mode holds one row per day, Monday through Sunday. Fill in a start time, end time, and break length only for the days actually worked and leave the rest blank — each row totals itself while the week sums at the bottom, so you can see both the daily and the full-week total without adding shifts up by hand. Five identical 8:30 AM to 5:00 PM shifts with a 30-minute break, for example, total 40 hours for the week.
Overnight shifts
If your end time is earlier than your start time — a 10:00 PM to 6:00 AM shift, for example — the calculator recognizes that as an overnight shift rather than treating it as an error or a negative duration. It assumes the shift ends the following day and calculates the correct number of hours worked.
Common use cases
- Checking a single shift's hours before submitting a timesheet
- Building a full weekly timesheet total across multiple shifts
- Converting hours worked into decimal hours for payroll or invoicing
- Calculating overnight or graveyard shift durations that cross midnight
Frequently asked questions
How many hours did I work?
Enter your start time, end time, and break length in minutes in "Single day" mode — the result shows total hours worked as both a duration and as decimal hours.
Do I subtract lunch breaks myself?
No — enter your unpaid break length in minutes and it's subtracted from the total automatically.
Can I calculate multiple shifts?
Yes — switch to "Weekly timesheet" mode to enter a start, end, and break for each day of the week, with a running weekly total.
Can it handle overnight shifts?
Yes — if the end time is earlier than the start time, it's treated as an overnight shift rather than an error, so a shift like 10 PM to 6 AM calculates correctly.