1. Your people
2. Shifts to cover
3. Rules
Enter your people and shifts, then click Build the schedule.
Your schedule
Shift list
| Day | Time | Role | Person |
|---|
Hours
| Person | Hours | Limit | Est. pay | Note |
|---|
How it is built
Hard rules: a person is only given a shift that matches one of their roles, never on a day off, never a second shift the same day, never beyond their weekly hour limit, never with less than your minimum rest after another shift (Sunday night into Monday morning included), and never beyond your longest run of days. If a rule would be broken the shift stays open.
Search: the hardest shifts to staff (fewest eligible people) are placed first, then a seeded local search tries thousands of reassignments and swaps, keeping any that fill more shifts or share hours more evenly. It runs several restarts and keeps the best.
Fairness: hours are balanced as a share of each person's own limit, Saturday and Sunday shifts are spread out, and anyone below their minimum hours is pulled up.
Checked: a separate validator re-reads the finished schedule and confirms every rule above. It cannot know your local scheduling laws, union rules, breaks or who works well together.
Common questions
How do I make a weekly work schedule for my restaurant or shop staff?
List each person with their roles, weekly hour limit and days off, one per line. List the shifts you need to cover, such as Mon-Fri 10:00-16:00 server x2. Click Build the schedule and the page assigns people to every shift while respecting roles, days off, hour limits, rest between shifts and the longest run of working days. Download it as a CSV or paste the plain text into your group chat.
What rules does the scheduler follow?
Every assignment must match the person's role, avoid their days off, keep them within their weekly hour limit, give them at most one shift a day, leave the minimum rest you set between a close and the next open (including Sunday night into Monday morning), and stop them working more than the longest run of days you set. A separate validator re-checks the finished schedule against the same rules.
What happens if I do not have enough people for every shift?
The shifts nobody can legally take under your rules stay marked OPEN and the page says why for each one, for example that nobody with that role is free that day or that everyone eligible is at their hour limit. It never quietly breaks a rule to fill a gap.
How are hours shared out fairly?
After filling the shifts the search balances each person's hours as a share of their own weekly limit, evens out Saturday and Sunday shifts, and pulls hours toward anyone below the minimum you set. The same seed always gives the same schedule, and Reshuffle tries another one.
Does it work out labor cost?
If you give each person an hourly rate, the page totals hours times rate for the week and flags anyone scheduled over 40 hours. It is a planning estimate only. It does not include taxes, tips, premiums or any pay rule that applies to you.
Does it follow predictive scheduling or fair workweek laws?
No. Some cities and states require advance notice of schedules, extra pay for changes, or limits on back-to-back shifts. The minimum rest setting helps with the last one, but the tool does not know your local rules and does not check them. Check them yourself before you publish a schedule.
Is my staff list uploaded anywhere?
No. Everything is calculated in your browser from what you type, nothing is sent to a server, there are no accounts, and it works offline once the page has loaded.