HH:MM to decimal hours: decimal = hours + (minutes ÷ 60). Example: 7:45 = 7 + 45/60 = 7.75. To go back: integer part is hours, decimal part × 60 is minutes. For non-quarter-hour values, use the calculator to avoid arithmetic errors.
Why this conversion matters
Every payroll system in the United States stores hours worked as a decimal number. Multiplying HH:MM by an hourly rate gives nonsense; multiplying decimal hours gives money. So when you punch in at 09:07 and out at 17:53, that 8:46 on your time clock has to become 8.77 (or whatever the rounding rule produces) before it can be paid.
Same goes for invoicing: if you bill $75/hour and worked 3:30, you charge 3.5 × $75 = $262.50. Mishandling that conversion costs real money — either to you or your client.
Beyond payroll, decimal hours appear in:
- Project budgets ("allocate 4.5 hours")
- Time-tracking app exports (Toggl, Clockify, Harvest all use decimal)
- Travel-time logs (DOT logs for truck drivers, FAA for pilots)
- Construction job costing (decimal makes labor-hour-cost rollups easy)
- Anything that gets multiplied by a per-hour rate
The math
The full conversion formula:
decimal = h + (m ÷ 60) + (s ÷ 3600)
Where h is hours, m is minutes, and s is seconds (optional, rarely needed in payroll). The reverse:
h = floor(decimal) m = round((decimal - h) × 60)
Why ÷ 60? Because there are 60 minutes in an hour. Each minute is therefore 1/60 of an hour, or 0.01666… in decimal. Multiplying that fraction by your minute count gives you the partial-hour value to add to the integer hour count.
For more on why some conversions are clean (15 min = 0.25) and others repeat (20 min = 0.333…), see our deeper write-up: The Time-to-Decimal Formula Explained.
Method 1: The mental math
Memorize four anchor values: 0.25, 0.50, 0.75, 1.00. They map to 15, 30, 45, and 60 minutes respectively. For everything else, eyeball:
- 5 min ≈ 0.08 (just over a tenth of 0.75)
- 10 min ≈ 0.17 (about a sixth of an hour)
- 20 min ≈ 0.33 (a third)
- 40 min ≈ 0.67 (two thirds)
For DOL 7-minute rounding (very common), the cutoffs are at minutes 7, 22, 37, 52. Anything ≤ the cutoff rounds down to the previous quarter; anything > rounds up. Memorizing those numbers lets you apply payroll rounding in your head — useful for spot-checking paystubs.
Method 2: The online calculator
Use our bidirectional calculator. Type 7:45, get 7.75. It handles HH:MM, HH:MM:SS, hours-and-minutes split, clock-in/clock-out (with optional break deduction), and decimal-to-time reverse. The calculator also supports seven rounding modes — including the DOL 7-minute rule and the "exact" mode for engineering use.
Method 3: Excel / Google Sheets
Excel stores time as a fraction of a day. 1:00 is 0.041667 in Excel’s internal representation (1/24). To get decimal hours, multiply by 24:
=A1*24
Format the result as Number (not Time), with 2–4 decimal places. If A1 contains 7:45, the formula yields 7.75.
For the reverse direction (decimal to time):
=A1/24 // then format the cell as [h]:mm
The [h] in brackets allows the value to exceed 24 hours (useful for weekly totals). Without brackets, Excel rolls over.
One Excel gotcha
Sometimes =A1*24 returns 7.7499999999 instead of 7.75. That’s floating-point noise. Wrap with ROUND:
=ROUND(A1*24, 4)
Method 4: Python (or any scripting language)
For batch processing — converting an exported timesheet of 200 rows, for example:
def time_to_decimal(s):
"""Convert 'HH:MM' or 'HH:MM:SS' to decimal hours."""
parts = s.split(':')
h = int(parts[0])
m = int(parts[1]) if len(parts) > 1 else 0
sec = int(parts[2]) if len(parts) > 2 else 0
return h + m/60 + sec/3600
print(time_to_decimal('7:45')) # 7.75
print(time_to_decimal('8:30:15')) # 8.504166...
For DOL 7-minute rounding:
def round_dol7(decimal_hours):
"""Round to nearest quarter-hour using FLSA 7-minute rule."""
h = int(decimal_hours)
extra_min = round((decimal_hours - h) * 60)
rem = extra_min % 15
base = extra_min - rem
if rem <= 7:
return h + base / 60
return h + (base + 15) / 60
Worked examples by use case
Daily timesheet
Friday: clock-in 08:53, clock-out 17:08, lunch 30 min.
- Elapsed: 17:08 − 08:53 = 8 h 15 m
- Less lunch: 8 h 15 m − 30 m = 7 h 45 m
- Decimal: 7 + 45/60 = 7.75
Freelance invoice
Project hours logged: 2:15, 1:40, 3:55, 0:50 = ?
- Convert each: 2.25, 1.667, 3.917, 0.833
- Sum: 8.667 hours
- At $85/hr: 8.667 × $85 = $736.70
Project allocation
Manager says "spend 4.5 hours on documentation today." How long is that?
- Integer part: 4 hours
- Decimal part: 0.5 × 60 = 30 minutes
- Block 4 h 30 m on the calendar.
Common mistakes
Treating the colon as a decimal point
Typing 7:30 into a payroll cell doesn’t mean 7.30. The 30 is minutes, not hundredths. 7:30 = 7.5, not 7.30. The 12-minute gap between these two values, multiplied by an hourly rate over a year, becomes a meaningful payroll error.
Forgetting to deduct breaks
A 9-to-5 shift looks like 8 hours. With an unpaid 30-minute lunch, it’s 7.5 hours. Always deduct unpaid breaks before converting.
Mixing rounding rules across days
If you round Mon to the nearest quarter and Tue to the nearest tenth, your weekly total will be subtly inconsistent and won’t match audit expectations. Pick one rule and apply it to every row.
Negative time durations
If clock-out < clock-in (e.g., a shift that crosses midnight), naive subtraction returns a negative number. Add 24 hours to the clock-out before subtracting. Our timesheet calculator handles this automatically.
Edge cases
Times exceeding 24 hours
Weekly totals like 47:30 (forty-seven hours, thirty minutes) convert exactly the same way: 47 + 30/60 = 47.5 decimal. There’s no special handling needed — just don’t let your spreadsheet auto-format the result as a clock time, which would roll over to 23:30.
Sub-minute precision
Most payroll doesn’t care about seconds, but if you’re tracking tight engineering or aviation logs, the formula extends: decimal = h + m/60 + s/3600. Our calculator’s HH:MM:SS mode handles this directly.
The 0.0833 puzzle
Why does 5 minutes equal 0.0833 (and not a clean number)? Because 5/60 simplifies to 1/12, and 1/12 doesn’t terminate in base 10. The exact value is 0.08333… repeating. Most payroll systems truncate to 2 or 4 decimal places. Why this happens.
Tools and references
- Time to Decimal Calculator — bidirectional with seven rounding modes
- Minutes-to-decimal chart — printable 0–59 reference
- Hours-to-decimal grid — HH:MM × decimal lookup
- Weekly timesheet — multi-day with FLSA rounding