Enter hours in 24-hour HH:MM format. Lunch is unpaid minutes per day.
Updates automatically as you type.
Calculated in your browser; your inputs are not sent to us. Privacy
Calculation details
Planning estimate only. Pay, overtime, holidays, and working-time rules vary by employer and jurisdiction.
This tool runs in your browser. Your calculator inputs and results are never transmitted to us or to ad/affiliate partners. Ads and sponsored links may set third-party cookies to serve and measure them, but they never receive your calculation values. If you explicitly save a scenario, its permitted fields stay in local browser storage until you clear them. See our Privacy Policy.
Use this result
Share the current inputs or ask ChatGPT to explain the calculation in context.
More options
What does this calculator estimate?
Time card calculator with lunch: total daily and weekly work hours, subtract breaks, and compute overtime for payroll from clock in and out times. Free.
How this calculator works
Formula
Paid hours = (end - start - lunch) per day x days; hours past the overtime threshold pay at 1.5x the hourly rate.
Worked example
09:00 to 17:30 with a 30-minute lunch, 5 days at $20/hr: 40.0 regular hours, no overtime, $800.00 gross pay.
Frequently asked questions
Q1
A1
Q2
A2
Q3
A3
Cite this tool
BoringToolsKit. “Time Card Calculator.” boringtoolskit.com/time-card-calculator/. Free to reference in articles, syllabi, and answer posts with a link.
Privacy: Inputs and results stay in this browser. Any future sponsored recommendation or advertisement will be clearly labeled and kept separate from the calculation.
Worked example: a 9-to-5 with a half-hour lunch
Suppose an employee clocks in at 9:00, clocks out at 17:00, takes an unpaid 30-minute lunch, works this schedule 5 days a week, is paid $20.00 per hour, and their employer pays overtime past 40 weekly hours. First, the shift length: 9:00 is 540 minutes and 17:00 is 1,020 minutes, so the clock span is 480 minutes. Subtracting the 30-minute lunch leaves 450 minutes, which is 450 / 60 = 7.50 paid hours per day.
Weekly hours come from 7.50 x 5 = 37.50. Because 37.50 is below the 40-hour threshold, all of it is regular time and overtime is 0.00. Gross pay is 37.50 x $20.00 = $750.00, with no 1.5x multiplier applied anywhere. Notice what the lunch break did: without it the week would be 40.00 hours, exactly at the threshold, still with zero overtime but $50.00 more in pay. A 45-minute lunch instead of 30 would drop the week to 37.25 hours and pay to $745.00. This is why the lunch field matters more than most people expect: on standard schedules it is the only input that separates a 40-hour week from a sub-threshold one.
Now change one number: suppose this employee picks up two extra 3-hour shifts, making 7 working days at 7.50 hours each. Weekly hours become 52.50, regular hours cap at 40.00, and overtime is 12.50. Pay is (40.00 x $20.00) + (12.50 x $20.00 x 1.5) = $800.00 + $375.00 = $1,175.00. The overtime hours are paid at an effective $30.00 per hour, so those 12.50 hours earn as much as 18.75 regular hours would.
Boundary cases and what the calculator does not decide
Several inputs hit limits worth understanding. If lunch equals the entire shift, say start 9:00, end 17:00, lunch 480, the per-day figure is (480 - 480) / 60 = 0 and the Math.max(0, ...) floor keeps it there instead of going negative; the week shows 0.00 hours and $0.00 pay rather than an error. If end time equals or precedes start time, such as 9:00 to 9:00, the calculator refuses the input with 'End time must be after start time.' rather than wrapping overnight shifts around midnight. An overnight shift must be entered as two rows or split manually.
The overtime threshold is a number, not a law. Set overtimeAfter to 0 and every hour becomes overtime: a 37.50-hour week at $20.00 pays 37.50 x $30.00 = $1,125.00. Set it to 999 and overtime can never trigger no matter how many hours are entered. The default of 40 matches the US federal weekly overtime trigger for non-exempt employees, but the calculator does not verify your state's rules, your exemption status, or daily overtime rules that some states add on top of the weekly one.
The pay estimate is gross, before taxes and deductions, and the 1.5x multiplier is assumed, not computed from your wage agreement. Some arrangements pay double time past 12 hours in a day or premium rates on Sundays; none of that is modeled here. Hourly rate 0 suppresses the pay line entirely, so the tool still works as a pure hours tally for salaried staff tracking attendance.