Timesheet Calculator
Paste a list of shift times (HH:MM-HH:MM, one per line) to total worked hours, flag overtime past a daily threshold, and estimate pay.
This guide is not yet available in your language and is shown in English.
Tool guide
What this tool does
Timesheet Calculator parses a list of work shifts written as start-end clock times, one per line, subtracts an unpaid break per shift, and totals the net hours worked. Any hours on a single shift beyond a chosen overtime threshold are flagged separately and, if an hourly rate is given, paid at 1.5× in an estimated pay figure. Overnight shifts (end time earlier than start time) are handled correctly.
Adding up a week’s worth of shift start and end times by hand, especially once unpaid breaks and an overnight shift are in the mix, is slow and easy to get subtly wrong, particularly around midnight crossings where a naive subtraction gives a negative number instead of the correct wrapped-around duration.
This calculator parses a plain list of shifts, one per line as HH:MM-HH:MM, subtracts a configurable unpaid break from each, and totals the net hours. Any net hours on a single shift beyond a chosen overtime threshold are reported separately, and an optional hourly rate produces an estimated pay figure with overtime paid at the common 1.5× multiplier. A shift whose end time is numerically earlier than its start time is automatically treated as crossing midnight rather than flagged as an error.
How to use Timesheet Calculator
- Paste your shifts into the text box, one per line as HH:MM-HH:MM.
- Set the Unpaid break per shift in minutes.
- Set the Overtime threshold in hours, the point past which a single shift’s hours count as overtime.
- Optionally enter an Hourly rate to get an estimated pay figure.
- Read Total hours worked, Regular hours and Overtime hours.
- Check the shift breakdown table for the per-shift figures, or download it as CSV.
Tips for better results
- An overnight shift, such as 22:00-06:00, is detected automatically because its end time is earlier than its start time; no special notation is needed.
- The overtime threshold applies per individual shift, not to a weekly total; a week with several shorter shifts each under the threshold shows zero overtime even if the weekly total is high.
- Leave the hourly rate at 0 if you only need the hours total and don’t want a pay estimate shown.
- Lines that don’t match the HH:MM-HH:MM pattern are skipped and flagged as invalid rather than silently dropped, so you can spot a typo in the list.
Common use cases
- Totalling a week’s worth of shift hours from a plain list of clock-in and clock-out times.
- Checking whether any individual shift crossed into overtime before submitting a timesheet.
- Estimating gross pay for a set of shifts given an hourly rate and overtime rules.
- Handling an overnight shift correctly without manually adjusting the end time past midnight.
Common mistakes to avoid
- Writing an overnight shift’s end time without realising it is numerically earlier than the start time is exactly what triggers the midnight-crossing logic; forgetting this and expecting a negative or zero result instead is a common point of confusion.
- Applying a daily overtime threshold expecting it to behave like a weekly threshold; this calculator checks overtime shift by shift, not against a weekly sum.
- Entering times without a colon or in a 12-hour AM/PM format, which won’t match the expected HH:MM-HH:MM pattern and will be skipped as invalid.
Frequently asked questions
What format do shifts need to be in?
One shift per line, written as a 24-hour start time and end time separated by a hyphen, such as 09:00-17:30; times in 12-hour AM/PM format are not recognised.
How are overnight shifts handled?
Automatically: if a shift’s end time is numerically earlier than its start time, such as 22:00-06:00, it is treated as crossing midnight and the duration wraps around correctly rather than being flagged as invalid.
Is overtime calculated per shift or per week?
Per individual shift; any net hours on a single shift beyond the chosen threshold count as overtime for that shift, regardless of how many total hours were worked across the whole list.
What happens to lines that don’t match the expected format?
They are skipped from the hours total and listed separately as invalid in the breakdown table, so a typo doesn’t silently distort your total.
Feedback & suggestions
Help us improve Timesheet Calculator. We read every message.