Work Schedule Maker for Repeating Shifts
Turn your own repeating work rotation into a calendar with shift times, days off and date-specific exceptions. Set the anchor date and time zone, then inspect the monthly calendar and shift list. Print the schedule, export an ICS file or save the project to reuse it.
Loading the shift calendar.
Loading the shift calendar.
Common questions
- How do I type a rotation like 4 on, 4 off?
- Write one code per day in order: D D D D O O O O, or the shorthand D*4 O*4. O, OFF or a hyphen is a day off, and every other code must match a shift type in the table, where you set its name and its start and end times. A code is one to four letters or digits starting with a letter, and upper or lower case both work. A rotation can be up to 400 days long, and it repeats from the anchor date in both directions, so dates before the anchor are filled too.
- How are night shifts and 24-hour shifts handled?
- A shift whose end time is earlier than its start ends on the next date: a 19:00 to 07:00 night that starts on Saturday ends on Sunday at 07:00, and Sunday's cell shows it running until 07:00. An end time equal to the start time is a 24-hour shift, so 07:00 to 07:00 covers a 24 on, 48 off rotation. The shift type table shows each type's length and whether it ends the next day, and each ICS event carries its real end date.
- What happens when the clocks change for daylight saving?
- Times are resolved in the time zone you name, using this browser's own time zone data, and the page lists every clock change in the months shown. A night that spans a change keeps its wall times and shows its real length: in New York, 19:00 on 31 October 2026 to 07:00 the next morning lasts 13 hours, because the clocks go back an hour overnight. A start or end that falls in the skipped hour either moves later by the skipped time or stops the calendar with the date named, and one that falls in the repeated hour uses the earlier or the later occurrence. You choose both rules, and every shift they touch carries a note with its exact times.
- Do exceptions survive when I change the rotation?
- Yes. An exception belongs to a date, not to a step of the rotation, so editing the codes, moving the anchor date, changing the time zone or showing different months reapplies it to the same date. Exceptions outside the months shown are kept and counted, and they are saved with the project. If you remove a shift type that an exception uses, the page names the date that needs a new choice instead of dropping the exception.
- What is in the ICS calendar file?
- One event per shift in the months shown, with the start and end written in UTC so a calendar app places each one at the right moment, the shift name as the title, and a description with the wall-clock times, the time zone, the UTC offset, the length, any exception note and any clock-change note. Days off are not events. Each event's identifier is made from its date and this calendar's own random code, so a file made again from the same project reuses the same identifiers. Long lines are folded and text is escaped the way the iCalendar standard requires.
- Does it work out pay, overtime or rest rules?
- No. It shows the shifts you enter and adds up their clock time, which counts a night across a clock change as the hours that actually pass, 13 or 11 rather than 12. It does not calculate pay or overtime, check labor-law rest periods, know public holidays or holiday entitlement, or suggest who should work when.
- Where is my schedule stored?
- In this browser. After your first change the project is kept in local storage and restored on your next visit, and the Start over button above the tool forgets it. The ICS file, the JSON file and the printed pages are made on your device, and nothing is uploaded. Save project JSON writes the whole project to a file, and Open project JSON checks a file completely before replacing what is on the page, so a damaged or unrelated file changes nothing.
- Can I make a weekly or four-day work-week schedule?
- For a four-day week followed by three days off, enter D*4 O*3 and set the D shift times. Anchor the first D to the weekday you want the week to begin. The pattern repeats automatically after you supply it, and the monthly calendar shows each week in rows. This is different from the 4 on, 4 off example, which repeats over eight days. Printing remains one month per page, not a separate weekly worksheet.
- Can I reuse a work schedule template?
- The Examples buttons load working rotations such as 2 on, 2 off and 4 on, 4 off. They replace the rotation and shift types while keeping the other project fields, including date exceptions. Edit the pattern and times, then use Save project JSON to keep your own reusable template and Open project JSON to load it again. The page does not produce an Excel spreadsheet.
- Can it schedule employees or restaurant staff automatically?
- The calendar follows one repeating rotation that you supply. It has no employee roster, availability, staffing coverage or AI assignment feature, so it cannot generate a schedule for a team. It automatically fills dates from your pattern; it does not decide who should work a shift.
- Where can I see the hours in my work schedule?
- Set start and end times in the shift-type table. The shift list shows each shift’s actual duration, and the monthly calendar summary adds those durations for the displayed month. Overnight and daylight-saving shifts use the resolved start and end moments, rather than assuming every shift has its nominal wall-clock length.
Displays the shifts you supply, with dates counted exactly from your anchor date and times resolved in the time zone you choose using this browser's time zone data. It does not calculate pay, labor-law rules, holiday entitlement or optimal staffing. Overnight shifts and daylight-saving choices are explicit.