utilobox

Work hours calculator

Enter the start time, end time and break for each day to get the hours worked, the total, decimal hours and, if you add a rate, regular and overtime pay.

Pay (optional)

Overtime counts on the total of all rows, as one week. Leave the rate empty to skip pay.

How to use it

  1. Check the five rows for Monday to Friday. They start with 09:00 to 17:00 and a 30-minute break, so the totals show at once. Change "Start", "End" and "Break (min)" for each day.
  2. Click "Add a day" for more rows (up to 31), "Copy first row to all" to repeat the first row, or "Clear times" to start from empty rows. "Remove this day" deletes a single row.
  3. Each row shows the hours worked for that day. The summary below shows the "Total" in hours and minutes, "Decimal hours", "Days worked" and "Average per day".
  4. To work out pay, open "Pay (optional)" and enter an "Hourly rate". You can change "Overtime after (hours a week)" and "Overtime rate (×)" there too.
  5. Click "Copy table" to paste the rows into a spreadsheet, or "Download CSV" to save them as a file.

What it does

  • Night shifts

    An end time earlier than the start time counts as a shift that ends the next day, so overnight work adds up correctly.

  • Hours two ways

    The total appears in hours and minutes and as decimal hours, the form you multiply by a rate. Days worked and the average per day sit beside it.

  • Overtime and pay

    Enter an hourly rate to see regular pay, overtime pay and total pay. Overtime starts after a number of hours a week and uses a factor you can change.

  • Up to 31 rows

    Use one row per day for a week or a month, adding, removing and copying rows as you need.

  • Copy or download

    Copy the table so it pastes into a spreadsheet, or download it as a CSV file.

  • Worked out in your browser

    The sums happen on your device and nothing is uploaded. There is no sign-up and no limit on how often you use it.

Good to know

Each row is worked out as end time minus start time minus break. A day from 09:00 to 17:00 with a 30-minute break is 7 hours 30 minutes, which is 7.5 in decimal hours, so the five rows you see at the start add up to 37 hours 30 minutes, or 37.5. Decimal hours are what you multiply by an hourly rate: 7 hours 30 minutes is 7.5 hours, not 7.30. Enter the break in minutes, so a 45-minute break is 45, not 0.75.

Overtime is counted on the total of all rows, as one week. With the starting values of 40 hours and a factor of 1.5, hours up to 40 are paid at the normal rate and the hours beyond that at one and a half times the rate. These defaults are editable and are not legal advice: overtime rules, rest-break rules and pay periods differ between countries, states and employers, so check yours. If you list more than a week, work out each week separately, because all rows are treated together.

Questions and answers

How do I calculate hours worked between two times?

Enter the start and end time and the break in minutes. The tool subtracts the break from the time between start and end, so 08:30 to 17:00 with a 45-minute break gives 7 hours 45 minutes.

What if my shift goes past midnight?

Enter an end time earlier than the start time, such as 22:00 to 06:00. The tool counts it as a shift that ends the next day.

What are decimal hours, and why do I need them?

Decimal hours write minutes as a fraction of an hour, so 7 hours 30 minutes is 7.5. Multiply that figure by an hourly rate to get pay, which is why it is shown next to the total.

How is overtime calculated?

Set the hours a week after which overtime starts and the overtime rate as a multiple of your hourly rate. The total of all rows counts as one week: hours up to the limit are paid at the normal rate and the rest at the overtime rate.

Can I use it for a whole month?

Yes, you can add up to 31 rows. Overtime is worked out on all rows together, so if overtime applies, check each week on its own.

How do I get the table into a spreadsheet?

Click "Copy table" and paste it into the spreadsheet, or click "Download CSV" to save a file that you can open there.