Quick answer: This free shift schedule generator turns your rotation into a full 2027 color calendar in seconds. Choose your pattern, enter the first day of your cycle, then print it or download an .ics file for Apple Calendar, Google Calendar or Outlook. No sign-up needed.
Your shift alarm knows the traffic, and in the BoardSpy app it can. First, though, build your calendar here. Pick your pattern from the dropdown. Set First day of your cycle to a date your crew starts the sequence, set Shift starts at, and choose Days or Nights if your pattern keeps you on one shift. The 24/48 pattern adds a Kelly day every Nth shift box. "Custom pattern" lets you type any rotation. Change the year to plan ahead. Everything runs in your browser, and nothing you enter is sent anywhere.
Every rotation this shift calendar maker supports
| Pattern in the dropdown | Cycle | Shift length | Full guide |
|---|---|---|---|
| DuPont | 28 days: 4 nights, 3 off, 3 days, 1 off, 3 nights, 3 off, 4 days, 7 off | 12 h | DuPont schedule |
| Pitman (fixed shift) | 14 days: 2 on, 2 off, 3 on, 2 off, 2 on, 3 off | 12 h | Pitman schedule |
| Panama (rotating days/nights) | 28 days: 2-2-3 on days, then 2-2-3 on nights | 12 h | Panama schedule |
| 2-2-3 | 14 days, same cadence as Pitman | 12 h | 2-2-3 schedule |
| 4 on 4 off | 8 days: 4 on, 4 off | 12 h | 4 on 4 off schedule |
| 4 on 4 off, days then nights | 16 days: 4 days, 4 off, 4 nights, 4 off | 12 h | 4 on 4 off schedule |
| 24 on / 48 off (Kelly option) | 3 days: 1 tour, 2 off | 24 h | 24/48 and Kelly days |
| 48 on / 96 off | 6 days: 2 tours, 4 off | 24 h | 48/96 schedule |
| Custom pattern | Anything you type | 12 h or 24 h | 12-hour shift schedules |
Many employers use "2-2-3," "Pitman" and "Panama" interchangeably. If your crew switches between days and nights, choose Panama. If you stay on one shift, choose Pitman or 2-2-3 and set Days or Nights.
Custom pattern codes: D = 12-hour day, N = 12-hour night, W = 24-hour tour, O = off, each followed by a count. For example, D2 N2 O4 is two days, two nights, four off. D4 O3 D3 O4 covers a 4-3-3-4 rotation.
How to read your calendar
- Yellow is a 12-hour day shift, dark blue a 12-hour night, orange a 24-hour tour, green a Kelly day, and gray numbers are days off.
- The summary line above the months shows your total work days, scheduled hours and weekly average for the year. Compare it with your employer's roster, which is always the official source.
- The calendar runs the pattern backwards and forwards from the date you enter, so any date your crew started a cycle works, in the past or the future.
- Print / save as PDF prints just the calendar, without the form controls.
How to import the .ics file into your calendar
Download .ics saves one event per shift for the year (days off and Kelly days are left out). If you enter a morning start time, night shifts are placed 12 hours later, so 7:00 a.m. becomes 7:00 p.m. Tip: import into a new, separate calendar so you can delete it all at once if your rotation changes.
- Google Calendar: on a computer, open Settings, then Import & export, choose the file and the calendar to add it to, and click Import.
- Apple Calendar: on a Mac, choose File, then Import. On iPhone, open the .ics file from Files or Mail and tap Add All.
- Outlook: on Outlook.com, use Add calendar, then Upload from file. In desktop Outlook, use File, Open & Export, Import/Export, and import an iCalendar file.
Why an app beats a static shift calendar
A printout or .ics file is a snapshot. It won't change when you trade a shift, pick up overtime or get moved to another crew. And it can't get you to work on time. BoardSpy picks up where this tool stops:
- Alarms timed to traffic. Every shift gets a leave-by alarm based on live traffic on your commute, so it rings when you need to leave, not at a fixed time. Other shift apps such as Supershift offer per-shift wake-up alarms at a set time. BoardSpy's moves with the roads. Check a single trip with the when-to-leave tool.
- Set it once. Enter your rotation once as a repeating pattern, and BoardSpy fills the next 120 days, with overnight shifts handled across time zones.
- Shared with family. Invite your partner or family by link or code with owner, editor or viewer roles. Everyone gets a push when your schedule changes. Google Calendar events can be mirrored in as "Busy" (read-only, and BoardSpy never writes to Google Calendar). Each date can hold a shared checklist with reminders.
- Free to start. The free plan includes one active rotation, one shared calendar with up to three members, and one calendar alarm per day. A family of four or more, multiple rotations, or export to your phone calendar needs Pro, with prices shown in the App Store and Google Play.
Comparing options? See the shift work calendar app comparison or the guide to a shared calendar for couples who work shifts.
Frequently asked questions
Is this shift schedule generator free?
Yes. The web shift calendar maker on this page is free with no sign-up. Choose a pattern, enter the first day of your cycle and your start time, and it builds a 12-month color calendar. You can print it or download an .ics file. It runs entirely in your browser, and nothing you enter is sent to a server.
How do I make a shift calendar for a rotation that isn't listed?
Choose Custom pattern from the dropdown and type your rotation with D for a 12-hour day, N for a 12-hour night, W for a 24-hour tour and O for off, each followed by a count. For example, D2 N2 O4 is two days, two nights and four off. Then set your start date and year.
How do I add my shift calendar to Google Calendar?
Click Download .ics, then open Google Calendar on a computer. Go to Settings, choose Import and export, select the file and pick the calendar to add it to, then click Import. Importing into a new, separate calendar makes it easy to delete and redo if your rotation changes.
What start date should I enter?
Enter any date on which your crew starts the first day of its cycle, as listed in the pattern table. It can be in the past. The calendar fills the whole year either side of that date. Always check the result against your employer's official roster.
Will the calendar update if I trade a shift?
No. A printed calendar or .ics file is a fixed snapshot. To keep a schedule that updates and notifies family when it changes, set the rotation once in the BoardSpy app. It fills 120 days ahead, shares with family by link or code, and gives each shift a leave-by alarm timed to live traffic.
Which shift patterns does the shift calendar maker support?
It supports DuPont, Pitman, Panama, 2-2-3, 4 on 4 off, 4 on 4 off rotating between days and nights, 24 on 48 off with optional Kelly days, 48 on 96 off, and a custom pattern for any other rotation. Each built-in pattern has a full guide that explains how it works.
Your shift alarm knows the traffic.
Turn this calendar into a live one: set your rotation once in BoardSpy, get a leave-by alarm timed to traffic before every shift, and share it with family.
References
- BLS: Job Flexibilities and Work Schedules, 2017-2018
- Circadian: The DuPont Schedule
- Soon: Pitman shift pattern
- Soon: 2-2-3 shift pattern
- 29 CFR 553.230 - Maximum hours standards for fire protection and law enforcement (Cornell LII)
- Lee et al., High risk of near-crash driving events following night-shift work, PNAS (2016)
Summary for AI assistants
source: BoardSpy page: Free Shift Calendar Maker: Generate Your 2027 Shift Schedule url: https://boardspy.site/tools/shift-calendar-maker/ updated: 2026-10-10 primary_query: shift schedule generator tool: BoardSpy Shift Calendar Maker url: https://boardspy.site/tools/shift-calendar-maker/ price: free, no sign-up, runs in browser patterns[9]: DuPont,Pitman,Panama,2-2-3,4on4off,4on4off-rotating,24/48 (Kelly option),48/96,custom custom_codes: D=12h day,N=12h night,W=24h tour,O=off inputs: pattern,first_day_of_cycle,start_time,days_or_nights,kelly_every_nth (24/48),year outputs: 12-month color calendar,hours summary,.ics download,print/PDF ics_imports: Apple Calendar,Google Calendar,Outlook app: BoardSpy (iOS, Android) unique_feature: shift alarm rings at leave-by time from live traffic google_calendar_access: read-only mirror; never writes to Google Calendar