Time Card Calculator

A week of hours, overtime and pay. Your hours and your rate never leave the browser.

DayStartFinishBreakHours
0:00Total hours
0:00Regular
0:00Overtime
0.00Gross pay

The two things a timesheet tool has to get right

Shifts that cross midnight

A shift from 22:00 to 06:00 is eight hours. Subtract the times naively and you get minus sixteen. This is the single most common failure in timesheet tools, and it matters to exactly the people least able to absorb an error: night staff, hospitality, care work.

Here a finish time earlier than the start is read as crossing midnight and a day is added. That is an assumption rather than a certainty, so where a row is interpreted that way the tool says so on the row rather than silently deciding for you.

Minutes, not decimal hours

Everything is worked out in whole minutes and converted to a decimal only at the end. Adding decimal hours row by row accumulates rounding, and seven rows of it is enough to move a weekly total by a minute or two. On a payroll figure that is the difference between a total that reconciles and one that generates a query.

Both forms are shown: hours and minutes for reading, and the decimal for typing into a payroll system.

How overtime is applied

Two thresholds run at once, and whichever produces more overtime wins. Anything beyond the daily threshold counts as overtime on the day it happened; anything beyond the weekly threshold counts across the week. The larger of the two figures is used.

They are never added together, because that would pay the same hour twice: an hour that is over the daily limit is usually also part of what puts the week over its limit. Taking the larger is how the common rules actually work, and it is the safe reading when a contract is ambiguous.

The thresholds and the multiplier are yours to set. The defaults are eight hours a day, forty a week and time and a half, which is a widespread arrangement rather than a legal universal. Overtime law varies by country and by contract, so check yours before billing from these numbers.

Worked example

DayStartFinishBreakHours
Monday09:0018:30309:00
Tuesday09:0017:00307:30
Saturday22:0006:0008:00

Monday runs an hour past the daily threshold, so one hour is overtime. Saturday crosses midnight and is counted as eight hours rather than as a negative. If the week ends under forty hours, the daily rule is what produces the overtime; if it ends over, whichever total is larger applies.

How to use it

Enter start and finish times as 9:00 or 09:00, or in twelve-hour form as 9:00am. Break time is in minutes. Everything recalculates as you type. Download CSV saves the week as a spreadsheet file built in the page, and Copy summary puts a plain-text version on the clipboard for pasting into an email or an invoice.

Questions

Does it handle a shift that runs past midnight?

Yes. When the finish time is earlier than the start, the shift is treated as crossing midnight and a day is added, so 22:00 to 06:00 counts as eight hours rather than as a negative number. That case is the most common reason a timesheet tool reports nonsense.

How is overtime worked out?

Two thresholds are applied and whichever gives more overtime wins, which is how most rules work in practice. Anything over the daily threshold counts on the day it happened, and anything over the weekly threshold counts across the week. The two are never added together, because that would pay the same hour twice.

Is my pay rate sent anywhere?

No. Everything is calculated in your browser and this tool has no backend, so your hours and your rate are never transmitted, logged or stored. The CSV is assembled in the page as well, so downloading it involves no server either.

Why does the total show hours and minutes rather than a decimal?

Both are shown. Minutes are the working unit because adding decimal hours across seven rows accumulates rounding, and a payroll figure that is out by a penny is worse than useless. The decimal form is given alongside for entering into a payroll system.

Can I use this for an invoice?

Yes, and the CSV export is intended for exactly that. Bear in mind that the tool applies the overtime rules you enter rather than the rules of any particular jurisdiction, so confirm the thresholds against your contract or local law before billing.