To calculate a timesheet with lunch, subtract unpaid break minutes from each day’s worked duration, then add the net daily hours to get the weekly total. The Timesheet Calculator applies that process to a Monday-through-Sunday week: you enter a start time, finish time, and unpaid break for each day, and it displays net hours to two decimal places beside the row plus a live weekly total. Breaks are deducted before the daily result is recorded, so an unpaid lunch period does not remain in the counted hours. Blank rows are simply skipped, which makes the tool useful for varied schedules without entering zero-value days. Times are entered in 24-hour format, such as 09:00 for 9 a.m. and 17:00 for 5 p.m. You can also add an hourly rate, choose a currency symbol, and enable a personal overtime rule for a pay estimate. The calculation runs locally in your browser, so your times, breaks, and pay figures are not uploaded, saved, or shared. This page explains exactly how to complete each field, interpret the results, and check the edge cases that commonly cause timesheet errors. The same workflow handles a standard daytime shift, a shift that crosses midnight, and days with no break without requiring a spreadsheet.

How lunch breaks change the total
The calculator first uses your clock-in and clock-out times to establish the length of the shift. It then subtracts the unpaid break minutes before producing that day’s net hours. Those net hours are rounded to two decimal places and displayed next to the relevant day, while the weekly total remains live below the table. The order of operations is important: a lunch period must be removed before the daily result is included in the week.
| Input | What it represents | Effect on the result |
|---|---|---|
| Clock-in time | The start of the working shift | Establishes the beginning of the shift duration |
| Clock-out time | The end of the working shift | Establishes the finish of the shift duration |
| Unpaid break minutes | Time excluded from the shift | Subtracted before daily net hours are calculated |
| Blank weekday | A day with no entry | Skipped without requiring the row to be zeroed or removed |
| Hourly rate and currency | Optional pay settings | Produce an estimated pay amount |
Entering a lunch break as minutes ensures the deduction matches the way the tool records unpaid time. You can review each day separately, correct an individual entry, and see the daily hours, weekly total, and optional pay update without rebuilding the sheet.
Enter a week of shifts and breaks
- Open the Timesheet Calculator and locate the table containing one row for every day from Monday through Sunday.
- For each day you worked, enter your clock-in and clock-out times in standard 24-hour format. Use 09:00 rather than 9:00 a.m., and 17:00 rather than 5:00 p.m.
- Enter the number of unpaid break minutes for that shift, including the lunch period if it was unpaid. The break is removed from the day’s worked duration before the net result appears.
- Leave any day without work blank. Blank days are skipped automatically, so mixed schedules do not require artificial start or finish times.
- Read the two-decimal net hours beside each completed row and check the running weekly total below the table.
- If you need a pay estimate, enter your hourly rate and choose a currency symbol. You can also turn on the overtime rule and set your own weekly threshold and multiplier.
A lunch-break calculation
For one worked day, a 09:00–17:00 shift with a 30-minute unpaid lunch produces 7.50 net hours. The arithmetic is 8.00 clocked hours − 0.50 lunch hours = 7.50 net hours. The calculator performs this conversion from the entries you provide and shows the result beside that day.
Read the daily total, weekly total, and pay estimate
The most useful result for checking an individual entry is the net daily figure shown beside its row. It already accounts for the unpaid break and is rounded to two decimal places. The running total below the table combines the net hours across the week, giving you a single figure to compare with a schedule, invoice, or expected total.
- Daily net hours: Use this figure to confirm that the start, finish, and break entries produce the expected shift length.
- Weekly total: Read the live figure below the table after entering all working days.
- Pay estimate: When an hourly rate is supplied, the tool multiplies the total hours by that rate and formats the amount with thousands separators and two decimal places.
- Updated results: Changing a time, break, or rate immediately recalculates the daily hours, weekly total, and pay in your browser.
Pay is optional. If you leave the hourly rate blank, the tool remains a weekly hours calculator without a pay figure. This is useful when you only need to reconcile working time or check the hours associated with a rota.
Handle night shifts, zero-length entries, and long breaks
Clock-in and clock-out times do not need to be rewritten for a midnight boundary. If the finish time is earlier than the start time, the calculator treats the shift as ending the following morning. If the two times are identical, it treats the entry as a zero-length shift rather than creating a negative result.
| Shift condition | How the calculator treats it | Daily outcome |
|---|---|---|
| Clock-out is later than clock-in | Both times belong to the same day | Normal net hours after subtracting the unpaid break |
| Clock-out is earlier than clock-in | The shift finishes the next morning | Overnight hours are counted correctly |
| Clock-in equals clock-out | The shift has no duration | The day counts as zero hours |
| Break exceeds the shift length | The result is capped rather than allowed to fall below zero | The day counts as zero hours |
For an overnight shift, enter the actual start and finish clock times. For example, a night worker can record the evening start and the following morning finish without manually adding extra hours. If a break appears unusually long, review the shift boundaries because the zero-day safeguard prevents a negative total but does not make an incorrect entry more accurate.
Configure optional pay and overtime
To estimate pay, add an hourly rate and select a currency symbol. Without a custom overtime rule, the weekly hours are multiplied by the base rate. The result is a practical estimate for checking hours and pay, rather than a replacement for a formal payroll system.
When extra detail is needed, turn on the overtime rule. You choose both the weekly threshold in hours and the multiplier applied above it. Hours up to the threshold are paid at the base rate, while hours beyond the threshold use the selected multiple. A common starting point of 40 hours at 1.5 times is pre-filled, but the rule is switched off by default so it does not affect a calculation unless you activate it.
The overtime function is a convenience calculation, not legal or payroll advice. Overtime requirements can differ by country, state, and employment contract, so confirm the threshold and multiplier against the rules that apply to your work before using the estimate for an official purpose.
Check the final weekly timesheet
Before relying on the result, review the completed entries and outputs together:
- Check that every working day has the correct clock-in and clock-out times in 24-hour format.
- Confirm that each unpaid lunch or other break is entered in minutes.
- Review overnight shifts to make sure the earlier finish time is intentional.
- Compare each two-decimal daily result with the expected shift length.
- Check the weekly total after the final day has been entered.
- Verify the rate, currency, and any custom overtime settings before accepting the pay estimate.
All calculations run locally in the browser using plain JavaScript. Your times, breaks, and pay figures are never sent to a server, saved, or shared. The tool is suitable for freelancers reconciling billable hours, hourly employees checking a pay stub, small business owners preparing payroll, and managers double-checking a rota.