Skip to main content

Timesheet Calculator — Hours & Pay

Enter start and end times for each shift, subtract unpaid breaks, and get row and weekly totals in both hours-and-minutes and the decimal format payroll systems want — with an optional hourly rate to turn the total into pay. Turn on overtime to split the week into regular and overtime hours past a weekly or daily threshold, paid at a multiplier you set.

Shifts

DayStartEndBreak (min)Worked
Mon7h 30m
Tue7h 30m
Wed7h 30m
Thu7h 30m
Fri7h 30m

Overtime (optional)

Totals

Total time37h 30m
Decimal hours (for payroll)37.50
Copy the whole timesheet as text

Make a schedule people can read in Moda

Turn the week’s shifts into a designed rota, staffing chart, or printable schedule on a real canvas.

Try Moda free →

Decimal hours: the format payroll actually wants

Payroll systems multiply hours by a rate, so they need 7 hours 30 minutes written as 7.5 — not 7.3. The conversion is minutes divided by 60: a 45-minute lunch is 0.75, a 20-minute break is 0.33. Mixing the two notations is the classic timesheet error, and it always shortchanges someone: 8.25 read as “8 hours 25 minutes” is 10 minutes short of the 8 hours 15 minutes it actually means. This calculator shows both forms side by side so whichever your system expects, you copy the right one.

Overnight shifts are detected automatically

When a row’s end time is earlier than its start — 10:00 PM to 6:00 AM — the calculator treats it as a shift crossing midnight and counts forward into the next day: 8 hours, not negative 16. The row is flagged “overnight” so a typo (entering 5:00 PM as 5:00 AM) is visible instead of silently inflating the week. One thing to check with your employer: some payroll systems attribute an overnight shift’s hours to the day it started, others split at midnight. The total is the same either way; which day it lands on is policy.

How breaks are deducted

Break minutes are subtracted from each shift individually, because that is how unpaid meal breaks work — a 30-minute lunch comes out of Tuesday, not out of the week. If a break equals or exceeds its shift, the row clamps to zero hours and shows a warning rather than going negative; a negative shift is always a data-entry error, not a real timesheet. Paid breaks should simply not be entered, since they count as worked time.

How overtime is split — and why hours are never counted twice

With weekly overtime on, hours past the threshold (40 by default) pay at the multiplier (1.5× by default); with daily overtime on, hours past the daily threshold (8 by default) do. When both are on, the calculator uses the standard no-double-counting rule: a shift’s daily overtime hours are taken out first, and only the remaining regular-rate hours accumulate toward the weekly threshold. A 10-hour Monday with both toggles on contributes 2 hours of daily overtime and 8 hours toward the weekly 40 — the same 2 hours never trigger weekly overtime again. These defaults mirror the common US pattern (federal weekly overtime, daily overtime in states like California), but thresholds and multipliers vary by country, state, contract, and award — the numbers are editable so you can match yours, and the split is arithmetic, not legal advice.

Frequently asked questions

How do I convert worked time to decimal hours?

Divide the minutes by 60 and add them to the whole hours: 7 hours 45 minutes is 7 + 45/60 = 7.75. The calculator does this per row and for the total, rounded to two decimal places, so you can paste the figure straight into a payroll or invoicing system.

Can it handle a night shift that crosses midnight?

Yes. An end time earlier than the start time is read as ending the next day, so 11:00 PM to 7:30 AM with a 30-minute break is 8 hours. The row is labeled “overnight” so you can confirm that was intended rather than an AM/PM mix-up.

What happens if the break is longer than the shift?

The row is clamped to 0 hours and flagged, instead of subtracting into negative time. Check the break minutes on a flagged row — the usual cause is entering a break in hours instead of minutes.

Does the pay calculation include overtime rates?

Yes, optionally. Overtime is off by default — the pay line is then a flat hours-times-rate figure. Turn on weekly overtime (past 40 hours by default) or daily overtime (past 8 hours by default), adjust the thresholds and the multiplier (1.5× by default) to your rules, and the totals split into regular and overtime hours with regular pay, overtime pay, and total pay shown when a rate is set.

Which overtime rules should I use?

The defaults follow the common US pattern: weekly overtime past 40 hours at time-and-a-half, with daily overtime past 8 hours as an extra toggle for places that use it. Real rules vary widely by country, state, industry, and contract — some use different thresholds, double-time tiers, or averaging periods this tool does not model. Check your local rules or your employment agreement; this calculator does the arithmetic and is not legal or payroll advice.

Is my timesheet data stored anywhere?

No. Everything is calculated in your browser as you type, and nothing is uploaded or saved. Use the copy button to keep a text version — reloading the page resets the rows.

Related tools

← All tools