Shift Schedule Template

A free shift schedule template with a weekly 8-hour rota plus DuPont, 2-2-3 and 4-on-4-off 12-hour rotations, coverage math and overtime checks.

TemplateFree PDF and CSVUpdated Time, Attendance & Leave

Download the files

Sign in with Google and both the PDF and the CSV unlock immediately. We email you the links too.

Get your free download

Sign in with Google to unlock the PDF and CSV instantly. No form to fill in.

Free. By continuing you agree to our terms and privacy policy. We record your email and this download; marketing emails only if you tick the box.

What you get

  • A weekly rota grid with shift codes, daily coverage counts and weekly hours per person
  • A filled-in example for a 3-shift, 8-hour operation
  • Ready-made 24/7 rotations for 12-hour shifts: DuPont, 2-2-3 (Panama/Pitman) and 4-on-4-off
  • A crew-size formula: how many people you need to cover every hour you're open
  • Overtime math for each pattern under the FLSA and California's daily rule
  • A pre-publish checklist covering availability, leave, rest and fair-workweek notice

Template preview

The structure, not the finished file. The PDF and CSV carry the complete version.

Shift key

CodeShiftStartEndUnpaid breakPaid hours
EEarly06:0014:3030 min8
DDay09:0017:3030 min8
LLate14:0022:3030 min8
NNight22:0006:3030 min8

Worked example: weekly rota for a 3-shift, 8-hour warehouse (week of Oct 12, 2026)

Minimum coverage: 2 people on Early, 2 on Late, 1 on Night. Weekly hours are paid hours from the shift key.

EmployeeMonTueWedThuFriSatSunWeekly hrs
A. RiveraEEEEE––40
J. LeeEE––EEE40
S. Patel––EEPTOEE32 + 8 PTO
M. OkaforLLLLL––40

Blank weekly rota

EmployeeMonTueWedThuFriSatSunWeekly hrsNotes
Coverage per shiftCompare with minimum staffing

How many people do you need? (coverage formula)

Hours to cover per post per week = hours open per day x days open per week. People needed per post = hours to cover / average paid hours per person per week. Add a relief margin for PTO, sick leave and training, often 10–15% depending on your absence rate. Example: one post staffed 24/7 = 24 x 7 = 168 hours per week. With 12-hour rotations averaging 42 hours per person, 168 / 42 = 4 people (one per crew). Three posts staffed 24/7 need 12 people before relief, or about 14 with a 15% margin. Example: a 16-hour, 6-day operation = 16 x 6 = 96 hours per post. At 40 hours per person, that's 2.4 people per post, so 3 people per post with some part-time hours.

24/7 rotation: DuPont (4 crews, 12-hour shifts, 28-day cycle)

Each crew works 4 nights, has 3 off, works 3 days, has 1 off, works 3 nights, has 3 off, works 4 days, then has 7 days off. Crews start one week apart, so one crew is always on days and one on nights. Average: 42 hours per week.

CrewWeek 1 (Mon–Sun)Week 2Week 3Week 4
AN N N N – – –D D D – N N N– – – D D D D– – – – – – –
B– – – – – – –N N N N – – –D D D – N N N– – – D D D D
C– – – D D D D– – – – – – –N N N N – – –D D D – N N N
DD D D – N N N– – – D D D D– – – – – – –N N N N – – –

The preview stops here; the template continues in the download.

How to use this template

  1. Pick the pattern that fits your hours. Use the weekly rota for daytime or 16-hour operations. For 24/7 coverage, choose a 12-hour rotation below or a 4-crew 8-hour rotation.
  2. Size the crews before naming anyone. Work out the hours you must cover and divide by the average hours per person, then add a relief margin for PTO and sick days.
  3. Enter leave and availability first. Block approved time off and stated availability in the grid before you assign shifts, so you don't schedule someone who can't work.
  4. Assign shift codes and check the totals. Fill each person-day cell with a shift code. Check the daily coverage row against your minimum staffing and each person's weekly hours against overtime limits.
  5. Publish with enough notice. Share the schedule at least two weeks ahead where you can. In cities and states with fair-workweek laws, late changes can trigger premium pay.

Frequently asked questions

How do I make a shift schedule?

List the shifts and their times, work out how many people each shift needs, and enter leave and availability first. Then assign shift codes to each person-day, check coverage per shift and each person's weekly hours, and publish at least two weeks ahead.

What is the best shift pattern for 24/7 coverage?

Most 24/7 operations with 12-hour shifts use four crews on a DuPont, 2-2-3 (Panama/Pitman) or 4-on-4-off rotation; all three average 42 hours per person per week. Choose DuPont if you want crews to rotate between days and nights with a 7-day break, 2-2-3 for every other weekend off, and 4-on-4-off for the simplest pattern.

How many employees do I need to cover 24/7?

One post covered 24/7 is 168 hours per week. At 42 hours per person that's four people per post, plus a relief margin (often 10–15%) for PTO and sick days. Multiply by the number of posts you staff at the same time.

Do 12-hour shifts mean overtime?

Under federal law, only for hours over 40 in a workweek, so it depends on how the rotation falls across weeks: a 2-2-3 rotation produces 20 overtime hours every two weeks. California also requires daily overtime after 8 hours unless employees have adopted an alternative workweek schedule. A few other states, such as Alaska and Nevada, have daily overtime rules with exceptions.

How far in advance should a work schedule be posted?

Two weeks is a good default. Fourteen days is the legal minimum for covered employers under Oregon's predictive scheduling law and fair-workweek ordinances in Chicago, Seattle, San Francisco, Los Angeles and Philadelphia; New York City requires 14 days for fast food and 72 hours for retail. These laws mainly cover retail, food service and hospitality.

Can I make a shift schedule in Excel or Google Sheets?

Yes. Download the CSV and open it in Excel or Google Sheets. Use a COUNTIF formula on each day column to count shift codes for coverage, and a lookup against the shift key to total weekly hours. Once you schedule more than about 25 people or several locations, scheduling software saves time on swaps and overtime alerts.