KangarooClock

← Blog

Convert Clock Times to Decimal Hours for Payroll

· 5 min read

Your timesheet says someone worked from 8:52 to 4:18. Payroll wants a single number like 7.43. Those are not the same format, and if you type the clock time straight into a spreadsheet that expects decimals, you will pay people wrong. The fix is a short, repeatable conversion you can do by hand or in a spreadsheet. Here is the whole thing, in order.

Why payroll wants decimals instead of 8:52

Pay is rate times hours. A rate of $18 times 7 hours 26 minutes does not multiply cleanly, because 26 minutes is not 26 hundredths of an hour. Minutes run in base 60; money runs in base 10. So before you can multiply, you have to express the minutes as a fraction of an hour. That fraction is what people mean by decimal hours. Seven hours and 26 minutes becomes 7.43, because 26 divided by 60 is 0.4333.

Get this conversion wrong by even a few hundredths across a 20-person crew and the errors compound into real dollars over a pay period.

The four steps, in order

Do these for each clock-in and clock-out pair, one shift at a time.

  1. Convert both times to 24-hour format. 4:18 PM becomes 16:18. This removes any AM/PM confusion before you subtract. 8:52 AM stays 08:52.
  2. Subtract start from end, in hours and minutes. 16:18 minus 08:52. The minutes won't subtract cleanly (18 is less than 52), so borrow an hour: turn 16:18 into 15:78. Now 15:78 minus 08:52 is 7 hours and 26 minutes.
  3. Subtract any unpaid break. If they took a 30-minute lunch, 7 hours 26 minutes becomes 6 hours 56 minutes. A lunch-break time calculator handles this part if your breaks vary day to day.
  4. Convert minutes to a decimal. Divide the minutes by 60. For 6 hours 56 minutes: 56 / 60 = 0.9333, so the result is 6.93 hours.

That 6.93 is what goes into payroll. Multiply by the pay rate and you have gross pay for the shift.

The minute-to-decimal conversions worth memorizing

You will hit the same minute values constantly. Knowing a handful by heart speeds up manual checks and helps you spot a bad number at a glance.

MinutesDecimal
60.10
150.25
200.33
300.50
400.67
450.75
500.83

The general rule: every 6 minutes is 0.1 of an hour. So 12 minutes is 0.2, 18 minutes is 0.3, and so on. If a decimal lands on a clean tenth, you can sanity-check it against this without a calculator.

How to do it in a spreadsheet without errors

Spreadsheets store a time of day as a fraction of one day, where 1.0 equals 24 hours. That trips people up. If you subtract two time cells, the result is also a fraction of a day, not hours.

So enter the start and end as real times (08:52 and 16:18), subtract them, then multiply the result by 24 to get decimal hours:

= (End - Start) * 24

For 16:18 minus 08:52, that returns 7.43. To subtract a 30-minute break, subtract 0.5 from the result after the multiply, or build the break into the formula. Format the answer cell as a plain number with two decimal places, not as a time, or the sheet will show you 7:26 again and you are back where you started. If you would rather not build the formula, a tool that turns clock times into decimal hours does the conversion both directions, decimal to HH:MM and back.

Rounding: pick one rule and never switch

26 minutes divided by 60 is 0.43333 repeating. You have to cut it off somewhere. Round to two decimal places and stay consistent: 0.4333 becomes 0.43. The danger is not the rounding itself, it is mixing methods. If you round one person's total up and another's down, or round per-shift on Monday and per-week on Friday, your totals stop being reproducible.

Decide once whether you round each shift or only the weekly total, write it down, and apply it to everyone. Rounding the weekly total once is usually cleaner than rounding every shift, because per-shift rounding errors stack.

The forgotten clock-out problem

Manual conversion assumes you have two real times. The most common reason payroll hours blow up is a missing clock-out: someone forgot, and the entry sat open. If you fill in the current time to close it, you might log a 31-hour shift. Decide a policy before it happens. Cap the shift at a reasonable length, or ask the worker, but never let a clock-out default to "now."

If you are tracking hours in Kangaroo Clock, auto-close handles stale open entries by closing them at the start time plus your cutoff, not at the current moment, so a forgotten clock-out can't inflate the total. When you pull a CSV export for payroll, the hours are already computed and the column schema stays stable, so you are not hand-converting times at all.

Do one shift right now

Take a real entry from this week. Convert both times to 24-hour, subtract, pull out the break, divide the leftover minutes by 60. Check the decimal against the table above. Once you have done one by hand, you will catch the bad numbers in any report. If your team is still writing times on paper, that is the step worth fixing first.

Tags: payroll, decimal hours, time tracking, how-to

See it in your own setup

No signup needed. Add a few names, share a kiosk URL, watch hours land.

Try the demo →