OmniTools
timeDifficulty: 3/5

Work Hours Calculator

Add up hours worked across several days with breaks and overnight shifts, in both clock and decimal hours, with optional pay.

LabelStartEndBreakWorkedRemove

Some employers round to the nearest 5, 6 or 15 minutes.

Adds a gross figure. The rate and the result stay in your browser.

Overnight shifts and exact decimals: When the end time is earlier than the start, the shift is treated as crossing midnight, so 22:00 to 06:00 with a 30-minute break is 7.5 hours rather than a negative number. Every row is accumulated in whole seconds and converted to decimal hours only at the end: adding decimal hours as you go drifts, and a week summed that way lands on 39.99999999999999 instead of 40. Money is rounded to cents once, at the end, because rounding each row first changes the total by a few cents — which matters to the person being paid.
Nothing here is stored: There is no account and no server. Your hours exist only in this tab and disappear when you close it, so use the CSV download if you need to keep them. This is a calculator, not a timesheet system, and it is not payroll or tax advice.

How it works

  1. Fill in a start and end time for each day, plus any unpaid break.
  2. Totals update as you type, in both clock time and decimal hours.
  3. Add an hourly rate for a gross figure. Nothing is saved or sent anywhere.
Privacy & Processing: Everything runs in your browser. Your hours, labels and earnings are never uploaded, stored, or sent to analytics — analytics receives only the number of rows and whether a rate was used.

Frequently Asked Questions

How do I enter a week?

One row per day, each with a start time, an end time and an optional unpaid break. Every row shows its own worked duration and the totals update as you type. Rows can be labelled with a day, a date or a client.

Does it handle night shifts?

Yes. When the end time is earlier than the start, the shift is treated as crossing midnight, so 22:00 to 06:00 with a 30-minute break is 7.5 hours — not a negative number.

Why do the decimal hours come out exactly?

Because every row is accumulated in whole seconds and converted to decimal hours only at the end. Adding decimal hours as you go drifts — a week summed in tenths of an hour lands on 39.99999999999999 — and a payroll figure that is a cent out is a real problem for the person being paid.

Can it work out what I am owed?

Yes. Supply an hourly rate for a gross figure, with an optional overtime threshold and multiplier. Forty hours at $50 reports exactly $2,000. Money is rounded to cents once, at the end, rather than at each row.

Are my hours stored anywhere?

No. There is no account, no server and no saved timesheet — everything is calculated in your browser and disappears when you close the tab. Analytics receives only the number of rows and whether a rate was used, never your times, labels or earnings.

Related Tools