TwelveHr for 12-hour shift workers

Free tool

12-hour shift pay calculator

Nights, differentials, weekly overtime — the parts payroll gets fuzzy about. Enter your numbers and see what a week of 12s should actually gross.

Common schedules
$
hours
$ /hour
Extra per hour on night shifts. Set 0 if none.
hours
Weekly hours past this pay 1.5×. US federal default: 40.

Tracking this every week by hand?

TwelveHr does this math from your actual clock-ins — overnight shifts counted right, differentials applied automatically, overtime split per pay period, CSV/PDF timesheets to check against your paystub. Get it on the App Store — no account needed.

How 12-hour shift pay is calculated

Base pay is hours × rate, but the hours are where payroll goes wrong for shift workers: an overnight 19:00→07:00 shift is 12 hours even though it "ends the day before it started" on a timesheet, and it's 11 or 13 hours on the two nights the clocks change. Apps and spreadsheets that subtract wall-clock times miscount both.

Night differential is usually a flat dollar amount per hour (commonly $2–$7/h in US hospitals) or a percentage of base rate, paid on hours worked during the night window. Weekend differentials stack on top at many employers.

Weekly overtime kicks in past 40 hours in the defined work week under US federal law (some states and contracts add daily overtime past 8 or 12 hours). Three 12s is 36 hours — under the line. Pick up a fourth shift and 8 of those hours pay 1.5×.

Common questions

Does a 3×12 schedule hit overtime?

Not weekly overtime — 36 < 40. An extra shift, a held-over hour, or daily-OT rules (California, some union contracts) are what push 12-hour schedules into overtime.

Which day does an overnight shift count toward?

Nurse convention (and most timekeeping systems): the day the shift starts.

Is overtime calculated on the differential too?

Under the FLSA, non-discretionary differentials are part of the "regular rate" used for overtime, so technically yes — but many paystubs show them separately. The calculator above uses the simpler base-rate-only convention; check your own paystub's method.