Free shift pattern calendars and schedules

Work Schedule Maker

Choose a week or a month, add your staff, fill in shifts or auto-fill a repeating pattern, and print the schedule.

Work Schedule Maker is a free online work schedule maker that runs in your browser. It gives you an editable grid with one row per person and one column per day, where each cell holds a shift code such as S1, S2 or O (off). Use it as a staff schedule maker, employee work schedule maker or work timetable maker: it totals paid hours for each person and each shift, and it warns you about overlapping shifts. You can set the sheet to one week, two weeks, a calendar month or any number of days. There is no account or sign-up, and nothing you type is uploaded. The page opens with a worked example of five people over seven days, so you can see how a finished schedule looks before you add your own names and times.
Work schedule maker example

How to use the Work Schedule Maker

  1. 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.
  2. Enter the number of people in the number-of-people field. This creates between 1 and 30 rows. You can also add or remove single rows.
  3. Type each person’s name in the name column, and a role in the Role column next to it.
  4. Replace the default title, “Work schedule, Oct 5, 2026 – Oct 11, 2026”, with your own.
  5. Fill the cells with shift codes. Type S1, S2 or O, or any other code of up to 12 characters. A code that is not in the shift table shows in red and counts 0 hours.
  6. Use the Quick fill box to repeat a pattern such as “S1 S1 S1 S1 S1 O O” along one row or every row, to copy the first week onto the following weeks, or to clear cells.
  7. Optionally type a weekly hours limit and a consecutive-days limit. Leave them blank to skip those checks.
  8. Read the totals. Each row shows its shifts, paid hours and days off. The row at the bottom counts how many people work each shift code on each day. Check any warnings listed on the page.
  9. Type notes in the Notes column at the end of each row.

Paid hours for a shift are 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. In the default sheet, S1 runs from 08:00 to 16:30 with a 30-minute unpaid break, so it gives 8h30 minus 30 minutes, which is 8 paid hours. O has no times and counts 0. A shift from 22:00 to 06:00 with the same break is treated as crossing midnight: 8 hours minus 30 minutes gives 7.5 paid hours. The default sheet has 25 worked shifts and 200 paid hours, with 40 hours for each of the five employees. The 31-day month example from Oct 1 to Oct 31, 2026 shows the same 200 hours and 25 shifts.

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
5 rows, 7 days, Oct 5, 2026 – Oct 11, 2026200 paid hours in total, 25 shifts
5 rows, 31 days, Oct 1, 2026 – Oct 31, 2026200 paid hours in total, 25 shifts

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

Frequently asked questions

How can I share a schedule with my team?

Use Copy link. It stores every input in the ?s= part of the web address, so the same schedule reopens when someone opens that link.

Does the tool check pay or labour law rules?

No. It only adds and subtracts the times you type. The weekly hours limit and consecutive-days limit are numbers you set yourself, not rules the page knows about.

Can I make a schedule for a whole month?

Yes. Choose a calendar month and the sheet shows every day of that month, including 29 days for a leap-year February.

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.

Can I change the shift times?

Yes. Edit the code, start, end and unpaid break of each shift in the shift table, or add new codes. Paid hours and totals update from the times you type.