How to Calculate Hours Worked (With Overtime and Breaks)
By Shihab Mia July 6, 2026 5 min read
Quick answer
To calculate hours worked, subtract the start time from the end time, then subtract any unpaid break. Convert the leftover minutes to decimal by dividing by 60 (so 8 hours 30 minutes = 8.5 hours). For an overnight shift where clock-out looks earlier than clock-in, add 24 hours. Then gross pay = total hours x hourly rate, and in the US any hours over 40 in a week are usually overtime at 1.5x.
Whether you are filling out a timesheet, checking a paycheck, or paying an hourly employee, the math for hours worked is the same short recipe every time. This guide walks through it step by step, including the two things people trip over most: unpaid breaks and overnight shifts. By the end you will be able to turn any clock-in and clock-out into a decimal number you can multiply by a pay rate.
The basic formula for hours worked
Hours worked is simply the time between when you started and when you stopped, minus any time you were not being paid. In one line:
Hours worked = (End time - Start time) - Unpaid break
Everything else is just cleaning up the result: converting minutes into a decimal so it plays nicely with a pay rate, handling shifts that cross midnight, and adding up the days to get a weekly total. If you are also converting a yearly figure into an hourly one, our guide on how to convert salary to hourly uses the same building blocks.
Step by step: a worked example
Say you clocked in at 9:00 AM, clocked out at 5:30 PM, and took a 30 minute unpaid lunch. Here is the full calculation.
- Find the raw span. From 9:00 AM to 5:30 PM is 8 hours and 30 minutes.
- Subtract the unpaid break. 8 hours 30 minutes minus 30 minutes leaves 8 hours 0 minutes.
- Convert minutes to decimal. Divide the minutes by 60. Here 0 minutes divided by 60 is 0.0, so the total is 8.0 hours.
- Multiply by the pay rate. At 20 dollars per hour, gross pay is 8.0 x 20 = 160 dollars for the day.
Now change the clock-out to 6:00 PM with the same 30 minute lunch. The raw span is 9 hours, minus 30 minutes is 8 hours 30 minutes, which converts to 8.5 hours (because 30 divided by 60 is 0.5). At 20 dollars per hour that is 8.5 x 20 = 170 dollars.
How do you convert minutes to decimal hours?
To convert minutes to decimal hours, divide the minutes by 60. For example, 15 minutes is 15 / 60 = 0.25 hours, and 45 minutes is 45 / 60 = 0.75 hours. This is the step most people skip, and it is why payroll totals sometimes look wrong.
The mistake is treating minutes like decimals directly. Eight hours and 30 minutes is not "8.30" hours, it is 8.5 hours. Keep this conversion chart handy.
Common minute-to-decimal conversions
| Minutes | Decimal hour |
|---|---|
| 5 minutes | 0.083 |
| 10 minutes | 0.167 |
| 15 minutes | 0.25 |
| 20 minutes | 0.333 |
| 30 minutes | 0.5 |
| 45 minutes | 0.75 |
| 50 minutes | 0.833 |
| 60 minutes | 1.0 |
How do you calculate hours for an overnight shift?
For an overnight shift where the clock-out time is earlier than the clock-in time, add 24 hours to the end time before subtracting. This corrects for the shift crossing midnight into the next day.
Example: you start at 10:00 PM (22:00) and finish at 6:00 AM (06:00). Because 6:00 is earlier than 22:00, add 24 hours to get 30:00. Then 30:00 minus 22:00 is 8 hours. Subtract any unpaid break as usual. This add-24 trick is the single fix that makes overnight, graveyard, and split shifts work correctly.
Adding up a full week and handling overtime
To get a weekly total, calculate each day separately, then add the daily decimal hours together. Adding the decimals is far more reliable than juggling hours and minutes across seven rows.
Sample weekly timesheet
| Day | In | Out | Break | Hours |
|---|---|---|---|---|
| Monday | 9:00 AM | 5:30 PM | 30 min | 8.0 |
| Tuesday | 9:00 AM | 6:00 PM | 30 min | 8.5 |
| Wednesday | 9:00 AM | 5:00 PM | 30 min | 7.5 |
| Thursday | 9:00 AM | 6:30 PM | 30 min | 9.0 |
| Friday | 9:00 AM | 6:00 PM | 30 min | 8.5 |
| Total | 41.5 |
That week totals 41.5 hours. Under the US Fair Labor Standards Act (FLSA), enforced by the US Department of Labor, most hourly employees earn overtime for hours worked over 40 in a workweek, paid at 1.5x their regular rate. So the split here is 40 regular hours plus 1.5 overtime hours.
At 20 dollars per hour, the pay works out as: 40 x 20 = 800 dollars regular, plus 1.5 x (20 x 1.5) = 1.5 x 30 = 45 dollars overtime, for a total of 845 dollars. If you want a deeper walkthrough of the premium rate, see how to calculate time and a half, and to double-check the multiplication you can use the work hours calculator.
Common mistakes to avoid
- Reading minutes as decimals. 8 hours 15 minutes is 8.25 hours, not 8.15. Always divide minutes by 60 first.
- Forgetting the unpaid break. A 30 or 60 minute lunch can quietly add up to hours of overpaid time across a pay period.
- Mishandling overnight shifts. If clock-out is earlier than clock-in, add 24 hours before subtracting, or you will get a negative or nonsense result.
- Mixing 12 hour and 24 hour time. Convert PM times to 24 hour format (5:30 PM = 17:30) before doing the math to avoid AM/PM slips.
- Rounding too early. Keep decimals through the calculation and round only the final total, ideally to two places.
Good to know
Overtime rules vary by country and even by US state. Some states, such as California, also require daily overtime after 8 hours in a single day, not just weekly overtime after 40. Always check your local labor rules if a paycheck depends on it.
Once you have your weekly hours, related everyday math like how to calculate percentage and how to calculate monthly income becomes easy, since both build directly on a clean hours total.
Let the calculator do the arithmetic
The formula is simple, but doing it by hand for a full team every week invites small errors. A timesheet tool handles the break subtraction, decimal conversion, overnight shifts, and weekly totals for you.
⏰ Try the free tool Timesheet Calculator Free timesheet calculator that adds up daily hours from start, end, and break times, totals your week in decimal and H:MM, and works out gross pay with overtime.Calculating hours worked comes down to four moves: subtract start from end, remove unpaid breaks, convert minutes to decimals by dividing by 60, and add the days for a weekly total. Add 24 hours for overnight shifts, apply 1.5x for hours over 40, and multiply by your rate. Master that short recipe and no timesheet will ever confuse you again.
Frequently asked questions
How do you calculate hours worked with a lunch break?
Subtract the start time from the end time to get the total span, then subtract the unpaid break. For example, 9:00 AM to 5:30 PM is 8.5 hours, and after a 30 minute unpaid lunch you have 8.0 hours. Paid breaks are not subtracted.
How do I convert hours and minutes to decimal?
Divide the minutes by 60 and add the result to the whole hours. So 6 hours 45 minutes is 45 / 60 = 0.75, giving 6.75 hours. This decimal form is what you multiply by an hourly rate to get pay.
How do you calculate hours for a night shift that crosses midnight?
When the clock-out time is earlier than the clock-in time, add 24 hours to the end time before subtracting. For a 10:00 PM to 6:00 AM shift, 6:00 becomes 30:00, and 30:00 minus 22:00 equals 8 hours. Then remove any unpaid break.
When do hours worked become overtime in the US?
Under the US Fair Labor Standards Act, most hourly employees earn overtime for hours worked beyond 40 in a workweek, paid at 1.5 times the regular rate. Some states also add daily overtime after 8 hours in one day, so local rules matter.
How do I calculate gross pay from hours worked?
Multiply total hours by the hourly rate: gross pay = hours x rate. For overtime hours, multiply those hours by 1.5 times the rate. For example, 41.5 hours at 20 dollars is 40 x 20 plus 1.5 x 30, which equals 845 dollars.
Is 8 hours 30 minutes the same as 8.30 hours?
No. 8 hours 30 minutes equals 8.5 hours, because 30 minutes divided by 60 is 0.5. Writing it as 8.30 is a common error that inflates or shrinks pay. Always convert the minutes portion by dividing by 60 first.