Skip to content

Work Hours Calculator

Calculate work hours for single shifts or weekly timesheets with overnight shift handling and overtime calculation.

Work hours

Updates as you type
Mode
How do you want to log time? ?
Shift
Start Time
End Time ?
Break ?
min
03060120
Pay (optional)
Hourly Rate ?
$ / hr
Display (optional)
Currency
Time format

Examples

How It Works

The work hours calculator computes total time worked in two modes:

Single shift mode calculates hours between a start and end time, minus any break. If the end time is before the start time, the calculator assumes an overnight shift and adds 24 hours automatically. For example, 10:00 PM to 6:00 AM = 8 hours.

Weekly timesheet mode lets you enter start/end times for each day of the week. It calculates daily hours and totals them, with optional overtime calculation. Daily overtime applies when a single day exceeds the threshold (default 8 hours). Weekly overtime applies when total weekly hours exceed the threshold (default 40 hours). The calculator uses whichever overtime amount is greater.

If you enter an hourly rate, the calculator computes gross pay: regular hours at the base rate plus overtime hours at the multiplied rate (default 1.5×).

Tips & Best Practices

The calculator automatically handles overnight shifts — no need to split them across two days.
For weekly timesheets, leave days blank (no start/end time) to skip them — they won't count toward totals.
Set the daily OT threshold to 0 to disable daily overtime and only use the weekly threshold.
Enter your hourly rate to see estimated gross pay including overtime premium.

Frequently Asked Questions

How does overnight shift detection work?

If the end time is earlier than the start time (e.g., start 22:00, end 06:00), the calculator adds 24 hours to the end time and calculates normally. This gives 8 hours for a 10 PM to 6 AM shift.

The calculator checks both daily and weekly overtime. Daily OT is hours beyond the daily threshold (default 8h) per shift. Weekly OT is total hours beyond the weekly threshold (default 40h). It uses whichever is greater, then multiplies by the OT rate (default 1.5×).