Free shift pattern calendars and schedules

Shift Schedule Template

Define your shifts and their times, assign them to staff and see the hours and cover for each day.

Shift Schedule Template is a free, editable work-schedule sheet that runs in your browser. It gives you a grid with one row per person and one column per day, and each cell holds a shift code such as M, A, N or O. As you type, the sheet works out paid hours for each shift and each person, counts how many people work each code on each day, and flags problems such as overlapping shifts or unknown codes. The page opens with a worked example of six people over seven days, so you can see a finished sheet before you replace the names and times with your own. You can choose a one-week, two-week, calendar-month or custom-length period, then print the result or keep it as a link. Nothing you type is uploaded, and there is no account to create.
Shift schedule template example

How to use the Shift Schedule Template

  1. Open the page. The sheet starts with the example schedule, or with the Monday of the current week if you arrive without a saved link.
  2. Choose a period: one week (7 days), two weeks (14 days), a calendar month, or a number of days. Week-like periods start on the date you pick.
  3. Replace the default title, “Shift schedule, Oct 5, 2026 – Oct 11, 2026”, with your own.
  4. Check the shift table. Each code has a start time, an end time and an unpaid break in minutes. Edit these to match your shifts.
  5. Change the row labels to the names of your people.
  6. Type codes into the cells. Codes can be up to 12 characters and are not case sensitive.
  7. Use Quick fill to repeat a pattern such as “S1 S1 S1 S1 S1 O O” along a row or every row, copy the first week onto the following weeks, or clear cells.
  8. To paint cells instead, tap a code chip and then tap the cells you want.
  9. Read the row totals for shifts, paid hours and days off, and the coverage row at the bottom, which counts people per code and per day.
  10. Check any warnings: red codes, overlapping shifts, unreadable times and duplicate codes.

Print schedule opens the print dialog for the sheet alone, in landscape, black on white, with a legend of codes and times. Download CSV saves the grid with totals. Copy link stores the whole sheet in the web address, and Reset returns to the example.

How are paid hours calculated for each shift?

Paid hours equal the end time minus the start time, minus the unpaid break in minutes. The result never goes below 0. If the end time is earlier than the start time, the shift runs past midnight. For example, the Night code N runs from 22:00 to 06:00. The subtraction gives -16 hours, and adding 24 gives 8 hours. A Morning shift from 06:00 to 14:00 with a 30-minute unpaid break gives 7.5 hours. The Off code O has no times and counts 0 hours.

Each row’s total is the sum of its shifts. The default example has 29 shifts and 232 paid hours. Employees 1 to 5 each have 40 hours, and Employee 6 has 32 hours. This is plain time arithmetic on the values you type. The page does not apply any legal or pay rule, so check your own rules separately.

How do I fill in the cells quickly?

Click a cell and type a code, or use the arrow keys and Enter to move from cell to cell; the code list offers the codes defined in the shift table. On a phone, tap a code chip and then tap the cells to paint them. Quick fill repeats a pattern such as “D D N N O O O” along a row, optionally starting each row one step later, and can copy the first week onto the following weeks. A dash in the pattern leaves a cell blank.

What is in the CSV file?

Download CSV saves the grid with one row per person: the name, the codes for each date, and the totals. The header row uses dates in yyyy-mm-dd form. The file opens in any spreadsheet program. Nothing is sent anywhere; the file is made in your browser.

How does the staffing count work?

The count row at the bottom shows, for each date, how many people have each code. Use it to see at a glance whether a day has enough people on a shift. The page does not decide what is enough: you read the counts and judge for yourself.

Worked examples

InputResult
6 rows, 7 days, Oct 5, 2026 – Oct 11, 2026232 paid hours in total, 29 shifts
6 rows, 14 days, Oct 5, 2026 – Oct 18, 2026232 paid hours in total, 29 shifts

Calculated by the tool above; open it with the same values to see each step.

Frequently asked questions

Which period lengths can I choose?

You can pick one week (7 days), two weeks (14 days), a calendar month, or a number of days. A month always shows the whole calendar month, so February in a leap year shows 29 days.

What happens if I type a code that is not in the shift table?

The cell turns red and counts 0 hours. The code is also listed in a warning, so you can add it to the shift table or correct the typing.

Why does the page warn about overlapping shifts?

The page warns when two worked shifts in a row overlap, such as a night shift that ends after the next day’s shift starts. Check the times in the shift table or the cells for that person.

It opens on the Monday of the current week. The worked example in the tool uses the fixed start date of October 5, 2026.

Is this tool free, and is anything I type uploaded?

Yes, it is free and needs no account or sign-up. Everything is calculated in your browser, and nothing you type is uploaded.

Can I print it or share it?

Yes. Print / save as PDF prints the page as you see it; choose Save as PDF in the print dialog to keep a file. Copy link copies a page address that stores your inputs, so the same schedule can be reopened later or sent to someone else.