🗓️ Weekly Staff Schedule Maker

Fill in the week, print a landscape PDF for the wall, and give every person a calendar file of their own shifts. Overnight shifts and unpaid breaks are handled properly. Free, no signup, no charge per employee.

The week

Pick any date inside the week and it snaps to the start day you choose.

This wipes every name and shift, including the copy saved in this browser.

The address goes on the printed header and on every calendar entry. Your names, shifts and pay rates stay in this browser and are saved here so next week starts from this week. Nothing you type is uploaded. The page does fetch its PDF and ZIP libraries from a public CDN. On a shared computer, press Clear everything when you are done.

Worth a second look

Who is working

Leave both times blank for a day off. An end time earlier than the start means the shift runs past midnight.

Add several people at once

Take it away

Pay rates are never printed on the schedule. They stay on this page and in the payroll CSV, so the copy that goes on the break room wall does not tell everyone what everyone earns. The Note box is the opposite: whatever you type there is printed in a Notes column on the wall PDF and is also written into that person's calendar file, so keep anything private out of it.
🎬 Plus invoices, timesheets, QR menus, PDF signing & 300+ more free toolsOpen Castwright

A wall schedule and a phone schedule, from one grid

Most small teams run their rota on a whiteboard or a spreadsheet, then spend the week answering the same question: am I on Thursday? Printing the sheet solves it for the people who are standing in front of it. This page does both halves. The PDF is a proper landscape wall schedule with every name, every shift and the weekly hours down the right hand side. The calendar files are one per person, so each employee imports only their own shifts into the calendar app already on their phone, with a reminder before every start if you want one.

The details that usually go wrong

A shift that runs from 10pm to 6am is eight hours, not minus sixteen, so an end time earlier than the start is read as the next morning and counted that way in the totals, in the PDF and in the calendar file. Unpaid breaks are deducted from the hours but the calendar entry still covers the whole time you are at work, which is what staff actually want to see. The page also flags the quiet problems: a shift over sixteen hours, a close followed by an open with less than eight hours between them, two shifts that overlap, and a week over forty hours. It flags them, it does not block you, because you know your business and your local rules better than a web page does.

How the calendar files work

Each file is a standard .ics calendar file that Google Calendar, Apple Calendar and Outlook all open. Times are written as plain local time with no timezone attached, which is the right choice when everyone works in the same city: the shift shows at 9am on the phone, and it stays at 9am when the clocks change. Send each person their own file by email or chat rather than the ZIP, because unzipping on a phone is more effort than it is worth. Every shift keeps a stable ID, so a corrected file usually updates the existing entries rather than adding a second copy. If your calendar app does add duplicates, delete that week first and re import.

What this replaces

The scheduling apps a small team usually lands on, Homebase and When I Work among them, put the useful parts behind a monthly fee, and per user pricing means the bill grows every time you hire. Check their current pricing yourself before you sign anything. This page is free and has no account, so there is nothing to cancel. What it does not do is clock people in, track who swapped with whom, or approve time off requests. If you need those, a paid product is the right answer. If you need a schedule on the wall and on everyone's phone, this is the whole job.

Getting through the week faster

Set one person's shift, use Apply to Mon to Fri to copy it across the working week, then duplicate that person as a starting point for anyone on the same pattern. When the week is done, press Roll over to next week: the date moves forward seven days and everybody's shifts come with it, so you are editing the exceptions instead of retyping the whole rota.