Every formula this site uses is published below, along with the automated tests that verify them. If you find a number you think is wrong, tell us.
Try it: Hours · Work Hours · Clock In · Shift · Time to Decimal · Salary
Live test results
671 automated checks passing across 95 test suites. Last verified:
The formulas
Shift duration
Elapsed time between start and end, crossing midnight when the end is earlier on the clock than the start.
Paid duration
Shift duration minus unpaid breaks.
Weekly total
The sum of every day’s paid duration.
Decimal conversion
Decimal hours = whole hours + (remaining minutes ÷ 60). For example, 8 hours 15 minutes equals 8.25 decimal hours. The converter also supports converting decimal hours back into hours and minutes.
Regular and overtime split
Paid minutes divided at a threshold you set; anything above it is overtime.
Gross pay
Estimated gross pay = (regular minutes ÷ 60 × hourly rate) + (overtime minutes ÷ 60 × hourly rate × overtime multiplier). When no overtime threshold is selected, all paid hours are treated as regular hours. The result is estimated gross pay before tax and deductions, not take-home pay.
Rounding (optional)
When you turn it on, paid duration is rounded to the nearest interval you choose (5, 6, 10, 15 or 30 minutes), up, down, or to nearest. Off by default; your original time stays visible next to the rounded value.
Worked time vs. rounded payroll time
When rounding changes the total, we keep both figures: the exact worked time from your entries, and the rounded payroll time used for the total. Both are shown together whenever rounding actually makes them different — never hidden, and the exact time is never silently discarded.
Salary Calculator: commission and estimated take-home
The salary calculator has separate hourly and commission workflows. Hourly pay uses the regular, overtime and gross-pay formulas above. In commission mode, your share is the entered percentage when I receive this % is selected; when Company keeps this % is selected, your share is 100% minus the entered percentage.
- Commission earnings = revenue × your share ÷ 100.
- Commission-mode gross pay = commission earnings + optional base pay + additional earnings.
- Estimated deductions = gross pay × the deduction percentage you enter ÷ 100.
- Estimated take-home pay = gross pay − estimated deductions − any fixed deductions / fees you enter (commission mode only).
Money is calculated exactly in the currency’s smallest unit, and each line is rounded once, half-up, so the breakdown always adds up. A take-home figure below zero is shown as calculated, with a note, never rounded up to zero.
These are arithmetic estimates. SumHours does not identify tax rates, apply country-specific payroll rules or determine what an employer legally owes. A deduction you enter yourself can produce an estimate; it does not replace a tax or payroll calculation.
Design decisions
Whole-minute arithmetic, and why
Every internal calculation is done in whole minutes, never floating-point hours. Decimal hours are produced only for display, which is why 8 hours 15 minutes shows as exactly 8.25, never 8.249999. A fractional minute is rejected outright, never silently rounded away.
Time parsing
The calculators accept 12-hour (9am, 9:00 AM) and 24-hour (09:00, 17:30) formats, plus shorthand typed without punctuation (815, 0815) or with a period in place of the colon (8.15, 07.30) — typed directly, no picker, no numeric-only keyboard, so every format above actually works on a phone.
Overnight-shift behaviour
If a shift’s end time is earlier on the clock than its start, it’s treated as crossing into the next day, and the calculator tells you so rather than silently producing a number you’d have to double-check.
Equal start and end times
Genuinely ambiguous — a typo, or a deliberate 24-hour shift. We default to zero and ask which you meant, rather than guessing.
Break handling
An unpaid break longer than the shift itself is rejected as an error, not silently turned into a negative total.
Invalid and ambiguous input
A time we can’t read — letters, an out-of-range hour or minute, mismatched punctuation — is rejected with a specific message on that field, never guessed into a number. The same applies to a negative rate or threshold, and to values like NaN or Infinity: these are refused with a clear error rather than producing a quiet wrong answer.
Browser-local persistence
Each calculator saves what you type in this browser’s local storage, so a refresh, an accidental tab close or a background reload doesn’t lose a half-entered week. This stays in your browser — it is not sent to SumHours merely for the calculator to remember it, and we don’t use it for anything beyond restoring your own entries the next time you open that calculator in the same browser. Every calculator has a “Clear saved data” button that removes it immediately.
What we test for
Our automated tests cover: midnight crossover · zero-length shift · explicit 24-hour opt-in · multiple breaks · a break longer than the shift · daylight saving spring-forward and fall-back · 24-hour input · AM/PM ambiguity · odd-minute values · missing end time · duplicate shifts · overlapping shifts · zero-length entries excluded from overlap warnings · week boundaries · weekly weekday identity · rounding at multiple intervals and directions · strict rounding-mode validation · whole-minute enforcement · NaN and Infinity rejection · negative-input rejection · decimal-precision limits · calendar-date validation · IANA time zone validation · half-configured time zone rejection · hours-and-minutes duration conversion · decimal-to-duration conversion.
The count under Live test results is read from the result of the latest automated test run that ships with the calculator plugin; it is never typed by hand, and if that result is missing, out of date or not fully passing, no count is shown. For worked examples with specific inputs and their exact outputs, see the SumHours Calculation Test Suite: the same engine, run against concrete scenarios, with the result of each one shown.
Known limitations
Daylight saving
The calculators use clock-time arithmetic. The optional shift date helps identify your shift but does not automatically adjust its duration for daylight-saving changes. The calculation engine supports date-and-time-zone-aware elapsed-time calculations, but the current calculator interface does not use that capability. Results for shifts crossing a daylight-saving transition should therefore be checked against the applicable time-zone rules.
DST boundary minutes
During a clock change, some local times are ambiguous (they happen twice) or don’t exist at all. The engine resolves these deterministically but doesn’t report which case occurred, so we don’t recommend relying on it for those specific boundary minutes.
Equal start and end times
These are genuinely ambiguous — a typo, or a deliberate 24-hour shift. We default to zero and ask you which you meant rather than choosing for you.
Whole minutes only
We reject fractional minutes rather than rounding them quietly. Silent rounding is how a timesheet drifts by a minute a week.
What we deliberately don’t do
- We don’t calculate tax. Tax and payroll deductions depend on location, employer, benefits and individual circumstances, so SumHours never chooses a tax rate or applies country rules. The Salary Calculator can show an estimated take-home figure, but only from deductions you enter yourself (a percentage and, in commission mode, fixed amounts), as arithmetic rather than a tax or payroll calculation. A confident wrong number is worse than no number.
- We don’t tell you what overtime you’re owed. Thresholds and multipliers vary by country, state, contract and employer. You set them; we do the arithmetic.
- We don’t round by default. If you turn rounding on, we show the original alongside the rounded figure.
- We don’t give legal advice. If you think you’ve been underpaid, these numbers may help you have the conversation — but we’re a calculator, not a lawyer. For US workers, the US Department of Labor explains which time may count as hours worked under federal law; rules vary by jurisdiction and circumstances.
How to cite SumHours
If you’re referencing a total calculated here — in a support ticket, a dispute, or your own records — link to the specific calculator page and note the exact inputs used (start/end times, breaks, and whether rounding was on). We don’t store your entries anywhere on our side, so we can’t look one up after the fact; the inputs you noted are the only record. To reference SumHours itself: “SumHours (sumhours.com),” linked to the page you used.
Found a problem?
Tell us at our contact page — we invite corrections and publish them.
Who’s behind this
SumHours is built and maintained by the person named on our about page.