Work Hours Calculator
A week of shifts turned into hours, overtime and gross pay.
Subtract a start time from an end time, take out unpaid breaks, and get the answer both as hours and minutes and as the decimal hours a payroll system actually wants.
Dates are counted in UTC. Every calculation here anchors dates at midnight UTC, so a day is exactly 24 hours and daylight saving cannot shift a result by an hour. Time zones, local holidays and contractual definitions of a working day vary, so check the answer against the rules that actually govern your situation.
Subtracting one clock time from another is arithmetic in base sixty, which is why people get it wrong so often and so confidently. The answer also has to be expressed twice — as hours and minutes for a human, and as decimal hours for a payroll system — and confusing the two is the most expensive mistake on a timesheet.
Everything runs in your browser. No times are transmitted or stored.
Convert both times to minutes past midnight, subtract, then translate the result into whatever form is needed. Working in minutes throughout avoids every base-sixty trap.
| Symbol | Meaning | Unit | Typical range |
|---|---|---|---|
start | Clock time the period begins | hh:mm | 00:00 to 23:59 |
end | Clock time it ends, next day if earlier | hh:mm | 00:00 to 23:59 |
break | Unpaid time deducted from the total | minutes | 0 to 120 |
net | Paid duration | minutes | 1 to 1,440 |
The distinction between 7:45 and 7.75 is the whole reason this page exists. Seven hours and forty-five minutes written as 7.45 in a spreadsheet understates the shift by eighteen minutes, because minutes are sixtieths and the decimal point wants hundredths. Repeated across a five-day week that is an hour and a half.
The overnight rule is a convention rather than a deduction. A shift recorded as 22:30 to 06:15 could in principle mean minus sixteen hours, but nobody has ever meant that, so adding a day is the only sensible reading — and it is what every timesheet system does.
Worked example one: 09:15 to 17:45 with a 45-minute break. The start is 9 × 60 + 15 = 555 minutes past midnight and the end is 17 × 60 + 45 = 1,065. The gross duration is 1,065 − 555 = 510 minutes, which is 8 hours 30 minutes, or 8.50 decimal hours.
Taking off the 45-minute break leaves 465 minutes: 465 ÷ 60 is 7 with 45 left over, so 7 hours 45 minutes. As a decimal that is 465 ÷ 60 = 7.75 hours — not 7.45, which is the number that ends up on timesheets and costs eighteen minutes a day.
7.75 is already an exact quarter hour, so payroll rounding changes nothing here. As a share of the day it is 465 ÷ 1,440 = 32.29%.
Worked example two: an overnight shift, 22:30 to 06:15. The start is 1,350 minutes past midnight and the end is 375. Subtracting gives −975, which is negative, so a day is added: −975 + 1,440 = 465 minutes.
That 465 minutes is the gross duration — 7 hours 45 minutes on the clock, exactly matching the day shift before its break. Keep the same 45-minute break and the paid figure becomes 465 − 45 = 420 minutes, or 7 hours even, which is what the calculator shows for these two times.
The check on the method is that both shifts produce the same gross length from the same procedure. Without the overnight rule the subtraction would have returned minus sixteen hours and fifteen minutes, a figure no payroll system has ever wanted.
| Measure | Hours and minutes | Decimal | Minutes |
|---|---|---|---|
| Gross duration | 8:30 | 8.5000 h | 510 |
| Break deducted | 0:45 | 0.7500 h | 45 |
| Net duration | 7:45 | 7.7500 h | 465 |
| Nearest quarter hour | 7:45 | 7.75 h | 465 |
| Overnight 22:30–06:15 | 7:45 gross | 7.7500 h | 465 |
| Share of a 24-hour day | — | 32.29% | of 1,440 |
Use the decimal figure wherever the number will be multiplied and the hours-and-minutes figure wherever it will be read. Rate calculations, invoices and spreadsheets all want decimals; rotas, contracts and conversations want hours and minutes. Mixing them is how eighteen minutes a day disappears.
The quarter-hour tile shows what payroll rounding does to your shift. Rounding to the nearest quarter is legal in many jurisdictions provided it is neutral over time — sometimes up, sometimes down — and it becomes a problem only when the rounding runs one way, which is worth watching across a month rather than a day.
Breaks deserve a second look because their treatment varies. An unpaid break comes off the total, as here. A paid break does not, and a break you were required to stay on site for is often legally working time regardless of what it is called. If in doubt, the test is usually whether you were free to leave.
The overnight handling is worth trusting rather than working around. Adding a day whenever the end time is not after the start is the only interpretation anyone ever means, and it makes a night shift and a day shift of the same length produce identical figures — as the two worked examples show.
For a whole week of shifts rather than one, the work hours calculator totals them, splits regular from overtime and turns the result into gross pay.
Five things that make a real timesheet differ from this arithmetic.
Rounding at each end. Some employers round clock-in and clock-out times to the nearest quarter before calculating anything, which is not the same as rounding the total. Rounding both ends can lose or add half an hour a week where rounding the total would not.
Paid against unpaid breaks. A short rest break is often paid and a meal break usually is not. The practical test in many jurisdictions is whether you were genuinely free to leave, rather than what the break is called on the rota.
Shift premiums. Night, weekend and public holiday hours frequently attract a higher rate, so two shifts of identical length are not worth the same. The duration is the input to pay, not the answer.
Where the day boundary sits. An overnight shift may count entirely towards the day it started, or be split at midnight across two days. It matters for daily overtime thresholds and for premium hours, and the rule comes from the contract rather than the clock.
Clock drift. A wall clock, a punch machine and a phone rarely agree to the minute, and a shift measured against one and recorded against another picks up an error at both ends. It is small on any single day and systematic across a month if the same clock is consistently fast.
Where it matters, agree in advance which clock is authoritative. That is a conversation worth having once rather than an argument worth having repeatedly.
Travel and handover time. Time spent travelling between sites, handing over at the end of a shift, or waiting on call is treated very differently across jurisdictions and contracts. None of it appears between a start time and an end time, and some of it is legally working time.
Convert both to minutes past midnight, subtract, then deduct the break. From 09:15 (555) to 17:45 (1,065) is 510 minutes, less a 45-minute break, leaving 465 — 7 hours 45 minutes.
7.75 hours, because 45 minutes is three quarters of an hour. Writing it as 7.45 understates the shift by eighteen minutes, which is the most common timesheet error.
Add a day. From 22:30 to 06:15 the raw subtraction gives −975 minutes, so adding 1,440 gives 465 — the same 7 hours 45 minutes as an equivalent day shift.
Unpaid ones, yes. Paid rest breaks are not deducted, and a break you were required to remain on site for is frequently working time regardless of its name. The usual test is whether you were free to leave.
Rounding to the nearest quarter hour is common and generally lawful where it is neutral over time. It becomes a problem when the rounding consistently runs one way, so watch it across a month rather than a day.
Divide by sixty. Fifteen minutes is 0.25, thirty is 0.5, forty-five is 0.75. Any other conversion is treating minutes as hundredths, which they are not.
Eight hours and thirty minutes, because 0.5 of an hour is thirty minutes. Multiply the decimal part by sixty to convert it back.
No. A period recorded as start and end clock times cannot distinguish eight hours from thirty-two, so anything beyond a day needs to be entered as separate shifts.
The calculator refuses rather than returning a negative duration, since it almost always means the times or the break were entered wrongly.
Often, through a shift premium, but that is a matter for the contract rather than the clock. This page gives you the duration; the rate that applies to it is a separate question.
Six tools that pick up where this one leaves off.
A week of shifts turned into hours, overtime and gross pay.
EverydayCalendar days, weeks and business days between two dates.
EverydayThe full duration between two dates, broken down.
EverydayExact age in years, months and days, plus the next birthday.
EverydaySolve pace, time or distance, with a splits table.
HealthYour percentage, and how many classes you can still miss.
EverydayCookies. We use cookies for site functionality and to serve ads via Google AdSense. Nothing you type into a calculator is ever stored or sent anywhere. Read our Cookie Policy.