Calculate payable hours from shift times
Use the Work Hours Calculator to turn shift start and end times and unpaid breaks into gross hours, payable hours, regular hours, and overtime hours. Enter an Hourly pay rate (optional, for pay estimate) to also see an informational gross-pay estimate.
Enter shifts and configure the calculation
- Enter or edit each shift row's start time, end time, and unpaid break minutes.
- Use Add shift row for each additional shift. Date (optional label) is a text label only; the tool does not parse it or use it to group or calculate shifts.
- Choose a setting under Round each start/end time: No rounding - use times exactly as entered, Nearest interval, Up to next interval, or Down to previous interval. When rounding is enabled, set Rounding interval (minutes).
- Set Overtime threshold (total hours, 0 = off) and Overtime pay multiplier. Optionally enter Hourly pay rate (optional, for pay estimate).
- Select Calculate payable hours to display the per-shift results and combined totals. Use Copy result or Download result (.txt) if you need a plain-text copy.
If an end time is less than or equal to its start time, the calculator treats the shift as crossing into the next day. Equal times therefore produce a one-day shift before unpaid breaks are deducted.
How the results are calculated
Rounded start/end = start/end time rounded to the selected interval, or left unchanged when No rounding - use times exactly as entered is selected.Gross hours per shift = rounded end time − rounded start time.Payable hours per shift = max(0, gross hours − (unpaid break minutes ÷ 60)).Total payable hours = sum of payable hours across every shift row entered.Overtime hours = max(0, total payable hours − overtime threshold), when the threshold is greater than 0.Regular hours = total payable hours − overtime hours.Estimated gross pay = (regular hours × rate) + (overtime hours × rate × multiplier), shown only when a rate is entered.
Validation and calculation limits
Each shift needs valid start and end times, and unpaid break minutes must be zero or greater. The tool checks the overtime threshold, multiplier, and optional pay rate within their implemented ranges: threshold and pay rate cannot be negative, and the multiplier must be at least 1. It checks Rounding interval (minutes) only when a rounding mode other than No rounding - use times exactly as entered is selected; that interval must be from 1 to 60.
If a required value is invalid, calculation stops and an error appears instead of a result. The tool does not apply jurisdiction-specific labor, payroll, tax, minimum-wage, meal-break, or overtime rules. Its overtime threshold is one running total across all entered shifts, not a daily or weekly calculation.
Browser-side calculation and data handling
The calculation code processes the shift values in your browser. The tool script contains no request to upload those values or query an external timekeeping or payroll service.
Frequently Asked Questions
Does this calculator apply my state's or country's overtime rules automatically?
No. It does not fetch or apply any jurisdiction's labor law, minimum-wage rule, or payroll tax rule. Overtime is a plain arithmetic comparison against the single hours threshold you type in yourself. Treat the result as a starting point, not legal or payroll advice.
What does the punch-time rounding rule do?
It rounds each start and end time to the nearest, next, or previous multiple of the interval you choose (for example, nearest 15 minutes) before computing hours worked. Choose "none" to use the times exactly as entered.
How is the overtime threshold applied?
All payable hours from every shift you enter are summed into one total, and any hours above the threshold you set become overtime hours. This is a single running total across everything entered on the page, not a per-day or per-week grouping.
Is the gross-pay estimate accurate for my paycheck?
It is a plain multiplication of regular hours by your rate, plus overtime hours by your rate times your multiplier. It does not account for taxes, deductions, shift differentials, bonuses, or any jurisdiction's pay rules, so treat it as a rough estimate only.
Where does the calculation happen?
Entirely in your browser, using only the values you type in. No shift data is uploaded or stored, and no external timekeeping or payroll system is queried.