Calculation methodology

The formulas, validation rules, and rounding used by every HourSprout calculator.

General principles

  • Whole minutes for time. Clock times and durations are converted to integer minutes before any arithmetic.
  • Exact values for money and fractional hours. Rates, multipliers, and hours are kept as exact fractions, so results never pick up floating-point errors such as 0.1 + 0.2 = 0.30000000000000004.
  • Round once, at the end. Totals are built from unrounded values. Money is rounded to 2 decimal places (cents, pence, or paise), with half rounded up. Decimal hours are shown to two places (half up) unless you choose more.
  • Blank is not zero. A blank hourly rate means “no pay estimate,” while 0 means a pay estimate of 0.00. A blank break means no break.
  • No guessing. Ambiguous or invalid entries produce a message next to the field, and totals are held back until they are fixed. HourSprout does not show a total that might be misleading.

Entering clock times

  • Accepted forms include 9:00 AM, 9am, 9:00p, 930 pm, 17:30, 1730, noon, and midnight.
  • In 12-hour mode, hours 1 to 12 must include AM or PM because “9:00” could be morning or evening. Hours 0 and 13 to 23 are unambiguous and accepted as 24-hour times.
  • 12:00 AM is midnight (00:00) and 12:00 PM is noon (12:00).
  • Minutes must be 00 to 59. 24:00 is not accepted; use 12:00 AM (00:00) with “Ends next day.”
  • Switching between 12-hour and 24-hour format rewrites valid entries in the new format.

Work periods, breaks, and overnight shifts

Period length = clock-out − clock-in (+ 1,440 minutes if “Ends next day” is selected) Day total = sum of period lengths − unpaid break

  • A period with both times blank is ignored. A period with only one time is flagged as incomplete.
  • An end time earlier than the start time is an error unless “Ends next day” is selected. An overnight shift is never assumed.
  • Equal start and end times are a zero-length error, unless “Ends next day” is selected, which means 24 hours.
  • A single period can’t be longer than 24 hours.
  • Periods can’t overlap, including periods that run past midnight. Periods that touch (one ends at 12:00 PM, the next starts at 12:00 PM) are allowed.
  • The break is entered in whole minutes, can’t be negative, and must be shorter than the day’s total work time. A break on a day with no work periods is ignored with a notice.
  • In the Work Hours Calculator, all periods start on the same calendar day. In the Time Card Calculator, periods start on the day they are entered, and an overnight period that overlaps the next day’s entries is flagged.

Time card totals and pay

Week total (minutes) = sum of day totals for the shown days in that week Period total = week 1 total (+ week 2 total for biweekly periods) Hours = total minutes ÷ 60 Gross pay = hours × hourly rate

  • Totals come from exact minutes, not from rounded daily decimal hours.
  • The same hourly rate applies to every hour unless custom overtime is turned on.
  • Days hidden by the Mon–Fri view, and week 2 when the period is weekly, are kept but left out of totals. A notice appears when hidden days contain entries.
  • Totals and exports are unavailable while any shown day has an error.
  • Dates are calendar dates; they are not shifted by daylight-saving changes.

Overtime pay

Regular hours = min(total hours, threshold) Overtime hours = max(total hours − threshold, 0) Regular pay = regular hours × rate Overtime pay = overtime hours × rate × multiplier Gross pay = regular pay + overtime pay

The threshold and multiplier are whatever you enter (the 40 hours and 1.5× shown by default are editable examples). In the Time Card Calculator the threshold applies to each week separately, so a biweekly period of 45 hours and 35 hours at $25 with a 40-hour threshold and 1.5× multiplier is $1,187.50 + $875.00 = $2,062.50. HourSprout does not determine overtime eligibility or apply daily, state, or contract-specific rules.

The regular, overtime, and gross amounts are each rounded from exact values, so in rare cases the displayed parts can differ from the displayed gross by 0.01.

Hours and minutes

Row minutes = hours × 60 + minutes Total = added rows − subtracted rows

A row with both fields blank is ignored; a blank field next to a filled one counts as 0. Minutes above 59 are allowed, hours can exceed 24, and totals can be negative. The result is normalized to hours and minutes, with the sign shown once (−1h 30m). Decimal hours in the hours field are accepted only when they equal whole minutes (7.5 is 450 minutes; 7.33 is rejected).

Decimal hours

Decimal hours = hours + minutes ÷ 60 Minutes = decimal hours × 60

Conversions keep the exact value. When decimal hours do not equal whole minutes, the exact hours, minutes, and seconds are shown, and the main result is rounded to the nearest minute with 30 seconds rounding up. Decimal results are rounded half up to the chosen number of places, and repeating values are labeled.

Military time

12-hour times must include AM or PM and an hour from 1 to 12. 24-hour times accept HH:MM or four digits (1730) with hours 00 to 23. 12:00 AM converts to 00:00, 12:00 PM to 12:00, and hours from 1 PM onward add 12 (5:30 PM → 17:30).

Hourly and salary

Weekly = hourly rate × paid hours per week Annual = weekly × paid weeks per year Average monthly = annual ÷ 12 Hourly (from salary) = annual ÷ (paid hours per week × paid weeks per year)

All figures are gross income before taxes, benefits, and deductions. They are not take-home pay. “Every two weeks” is two times the weekly amount.

Currencies

The Time Card, Work Hours, Hourly to Salary, and Overtime Pay calculators can show gross pay in US dollars (USD), Indian rupees (INR), British pounds (GBP), euros (EUR), Canadian dollars (CAD), or Australian dollars (AUD).

  • The currency sets the unit only. Amounts are never converted, and no exchange rate, tax rule, or country-specific overtime law is applied.
  • Switching currency keeps every number you typed. The arithmetic is identical; only the symbol and formatting change.
  • Amounts are formatted with the browser’s built-in number formatting for English locales: en-US (USD), en-IN (INR, with Indian digit grouping such as ₹1,37,500.00), en-GB (GBP), en-IE (EUR), en-CA (CAD), and en-AU (AUD). USD, CAD, and AUD all use “$”, so the currency code is shown in result headings, labels, and exported text.
  • Rates and salaries can be typed with or without the selected currency’s symbol, and with Western (1,250,000) or Indian (12,50,000) digit grouping. A symbol from a different currency is rejected rather than guessed.
  • CSV files keep money as plain numbers (for example, 137500.00), with the currency code in each money label and in a separate Currency row.
  • The choice is remembered in this browser and shared by the four pay calculators. A saved timesheet keeps the currency it was saved with. If no valid choice is stored, or browser storage is blocked, USD is used.

Clock-out time

Clock-out = start time + required working time + unpaid break

If the result passes midnight, it is shown with a “next day” label (or the number of days later). For example, 10:00 PM + 8 hours + 30 minutes = 6:30 AM the next day.

Time zones and daylight saving

Shift calculations use the wall-clock times you enter. They do not adjust for time zones or daylight-saving changes. If a shift spans a daylight-saving change, the actual time worked can be one hour more or less than the result; adjust the entry or the break to match your records.

Input limits

InputAllowed
Unpaid breakWhole minutes, 0 to 1,440
Work periods per dayUp to 6
Hourly rate0 to 100,000, up to 4 decimal places
Overtime threshold0 to 168 hours per week
Overtime multiplier1 to 10
Weekly hours (Overtime Pay Calculator)0 to 168
Paid hours per weekMore than 0, up to 168
Paid weeks per yearMore than 0, up to 53
Annual salary0 to 1,000,000,000
Saved timesheetsUp to 50 on one device