Free tool · Runs in your browser

A shift schedule generator with no sign-up in front of it

A shift schedule generator builds a rota from a list of staff, a set of shifts and the number of people each shift needs. This one runs entirely in your browser: type your team in, pick how many days you want, and it rotates people through the shifts evenly, keeps their days off, and hands back a CSV.

Free · No email address · No account

How do I generate a shift schedule?

Type your staff in and set your shifts and how many people each needs. The rota below rebuilds as you type — there is no generate button to press and nothing to wait for.

8 people. Add days somebody cannot work after a colon — “Cara Whitfield: Thu” or “: weekends”.

Shifts

The number is how many people that shift needs each day.

With the unavailable days above, the two rules this generator knows.

Building the rota from today…

At a glance

  • A shift schedule generator turns a staff list and a set of shifts into a filled rota, rather than leaving you to place every name by hand.
  • This one runs in the browser. Nothing you type is sent anywhere, because there is nowhere for it to be sent: there is no account and no server call.
  • It rotates staff evenly, honours a maximum consecutive-days setting, and works around the weekdays you mark somebody unavailable for — leaving a seat visibly empty rather than filling it with a person who cannot take it.
  • The result is editable in place and downloads as a CSV that opens in Excel or Sheets.
  • It is a fair rotation, not a rules engine. It knows the names you typed and the weekdays you marked; it does not know competencies, credentials, rest or contracted hours.

Is there a free shift schedule maker that works without an account?

This one. It computes in your browser, so there is nothing to sign up for and nowhere for your staff list to go.

That is a design decision rather than a generous mood. Almost every free work schedule maker on the web is a lead form with a grid attached: it asks for an email before it shows you anything, or it shows you a schedule and then charges to let you take it away. Both are reasonable businesses and neither is what somebody typing 'free shift schedule maker' at nine on a Sunday evening is looking for.

So the arithmetic here happens on your machine. There is no request to us carrying your team's names, no account, and no export gate. If you close the tab it is gone, which is the honest trade for not asking you for anything. And if you want it kept, that is what the CSV is for.

How does it decide who works when?

It walks the roster in order, filling each shift with the next eligible people in rotation, skipping anyone already working that day, anyone who would break the consecutive-days limit, and anyone marked unavailable for that weekday.

Deliberately, that is a simple algorithm, and the simplicity is the feature. A rotation you cannot predict is a rotation you cannot argue with, and the first thing anyone does with a generated rota is check whether it treated them fairly. This one starts each day where the last one left off, so over a fortnight everyone lands within a shift or so of everyone else, and you can verify that by counting, which is the only kind of fairness that survives contact with a break room.

Marking somebody unavailable is a colon after their name: 'Cara Whitfield: Thu', or 'Femi Okonkwo: weekends'. Those people stay in the rotation on every other day rather than being set aside, so the fairness count still includes them and you can see what their restriction cost the rest of the team. If a day is left with nobody who can take it, the generator leaves that seat empty and says so on the grid. Filling it anyway with somebody who told you they could not work would produce a rota that looks complete and is a lie, which is the one outcome worse than a gap.

What it does not do is optimise. There is no solver here weighing preferences against cost against seniority, because a solver whose reasoning you cannot follow produces a rota you have to defend in a meeting with the word 'algorithm', and that meeting goes badly. Generate a starting point, then edit it; the grid below is editable, and editing a good draft is a much smaller job than filling a blank one.

How do you make the 2nd shift fair, so everyone works it?

Rotate it rather than assign it. The generator balances each shift separately — the second shift schedule hands round the whole team instead of landing on whoever complained least — and the tally shows the count per person, per shift, so you can check.

Every team has a shift nobody wants: the 2nd shift that eats the evening, the night block, the weekend line. The unfair version of a rota is not usually unequal totals — it is equal totals made of unequal shifts, where two people both work seven and one of them worked seven evenings. A tally that only counts totals calls that fair, and the person carrying the evenings knows it is not.

So the generator counts both. When two people are otherwise tied for a slot, it goes to whoever has worked that particular shift least, which is what makes a second shift schedule rotate through everyone rather than settle on someone. And the tally under the grid shows the count per person for each shift — 1st, 2nd, 3rd, whatever you named them — because a fairness claim you cannot check by counting is a claim, not fairness. Totals stay within a shift of each other; the columns show nobody quietly owns the evening.

The same argument, ongoing and with real rules, is the product's equity view: nights, weekends, holidays and call-offs counted per person over months, on a screen the whole team can read, so the December meeting is a decision rather than an argument about memory.

What it does not know about your team

Two rules, and a rota is mostly rules

Almost everything: not competencies, not credentials, not rest between shifts, not contracted hours, and not a one-off Tuesday somebody has asked for.

The weekday field handles the standing arrangement — Priya never works Thursdays — and it is the only thing about your people this tool knows. It has nothing to say about the Tuesday in November she has asked off, about only two people being signed off on the unit, about a certification that expired on Friday, or about the eleven-hour gap between the night somebody just finished and the day you are about to give them. Two rules and a recurring weekday are a long way from a rota, and a real rota is mostly rules. Treat the output as a first draft with the arithmetic done, which is genuinely useful and is exactly as much as it claims.

The version of this that knows those things is the product: MedAligna runs fifteen rules on every assignment and refuses the ones that break. It refuses them in the browser as you drag, and again on the server before the write lands, because a browser can be lied to and a database cannot.

Questions people actually ask

Can I make a work schedule online without signing up?
Yes: here, and without an email address either. The generator runs in your browser; nothing is sent to us and nothing is stored. Download the CSV before you close the tab and it is yours.
How do I stop the same people always getting the evening shift?
Name the shifts as you run them — 1st, 2nd, 3rd — and the generator balances each one separately: ties go to whoever has worked that shift least, so the unpopular one rotates through the whole team. The tally under the grid counts per person, per shift, which is how you prove it to the person who is sure they always get Tuesdays.
Is my staff list sent anywhere?
No. There is no request to a server carrying it, because the arithmetic happens on your machine. That also means we cannot recover it for you if you close the tab.
How many people can it handle?
Enough for a unit or a small department: a few dozen names and a few weeks. Past that a browser grid stops being the right shape for the problem regardless of how fast it is, because you stop being able to read it.
Can I edit the schedule it generates?
Yes. Every cell in the result is editable, and the CSV exports whatever is on screen when you download it. The generator is meant to produce a draft you correct, not an answer you accept.
Can I stop it scheduling somebody on a day they cannot work?
Yes. Put a colon after the name and the days: 'Cara Whitfield: Thu', or 'Femi Okonkwo: weekends'. Day names work written out or in three letters, and 'weekends' and 'weekdays' both work. They stay in the rotation on every other day, so the fairness count still includes them. If a day ends up with nobody able to take it, the seat is left visibly empty rather than filled with somebody who told you they could not work it.
Does it handle rotating patterns like Pitman or DuPont?
No. That is a different tool, and it is linked at the foot of this page. This one fills shifts from a staff list; the rotating generator lays a named pattern onto real dates.

When a draft is not enough

MedAligna checks credentials, rest, overtime and availability before an assignment can be saved. Fourteen days free, no card, nobody calls you.