12-Hour Shift Calculator

Total your 12-hour shifts — overnight handled automatically. Get hours per shift, weekly hours, overtime and gross pay, with federal or state overtime rules. Built for nurses, first responders, factory and 24/7 schedules.

Hours / shift
0:00
Weekly hours
0.00
Regular
0.00 h
Overtime
0.00 h

Overtime combines 1.5× and 2× hours. General information, not legal or payroll advice.

12-hour shift patterns

Most 12-hour schedules rotate so the weekly average lands near 36–42 hours. Common ones:

Overtime on 12-hour shifts

Federal overtime is weekly: 1.5× after 40 hours, so three 12-hour shifts (36 h) has none, but four (48 h) adds 8 overtime hours. California adds daily overtime — each 12-hour shift is 8 regular + 4 overtime hours. Use the state selector to apply the right rule.

Frequently asked questions

How many hours is a 12-hour shift after breaks?

A 12-hour shift (for example 7:00 PM to 7:00 AM) is 12 paid hours before breaks. If an unpaid 30-minute meal break applies, you are paid 11.5 hours. Enter your break above to see the exact total.

Do 12-hour shifts get overtime?

It depends on your total hours and state. Under federal law, overtime is 1.5× after 40 hours per week — three 12-hour shifts (36 hours) is under 40, but four (48 hours) triggers 8 overtime hours. In California, a 12-hour shift earns daily overtime: 1.5× for hours 8–12. Pick your state above.

What are common 12-hour shift patterns?

Popular rotations include the Pitman (2-2-3, every other weekend off), the DuPont (a 4-week rotation of days and nights), and 4-on-4-off. Most average 36–42 hours per week across the cycle.

How is a night shift that crosses midnight counted?

It is counted as a single continuous shift. 7:00 PM to 7:00 AM is 12 hours — the calculator detects the cross-midnight end time automatically.

Related tools

Time Card Calculator · Overtime Calculator · Shift Differential Calculator

Embed this calculator on your site (free)

Add the 12-Hour Shift Calculator to your own website — just copy and paste this code. It stays up to date automatically.