← Volunteer shift scheduler

How to schedule volunteers fairly, with a worked example

A volunteer schedule is a small puzzle with people in it. Each person can do some days, will do only so many shifts, and may not want certain jobs. Each shift needs a set number of people. Done by hand, the early volunteers get the best slots, the reliable ones get everything, and the last Saturday is left empty. The fix is a short method, applied the same way every time.

Open the free volunteer shift scheduler

The method in five steps

  1. Collect three things from each person: when they can do, the most shifts they will take, and any role they cannot do.
  2. List the shifts as date, slot, role and headcount. Give slots times so overlapping ones are caught.
  3. Fill the hardest shifts first: the ones with the fewest available people per place.
  4. For each place, pick the person with the fewest shifts so far. Ties go to the person with fewer other options, so flexible people stay free for later.
  5. Check what is left: repair gaps by moving one shift from a candidate to someone else, then even out anyone two or more shifts above a colleague.

A worked example

A small food pantry opens on three Saturdays, 10, 17 and 24 October 2026. Mornings need two greeters and three packers, afternoons need a driver, and on the 17th an afternoon setup person. Ten invented volunteers have each given days, a maximum and, for some, a role they cannot do. The scheduler gives:

DateSlotRoleVolunteers
10 OctAMGreeterAna Ruiz, Frank Lee
10 OctAMPackerBen Okafor, Carla Meyer, Hugo Silva
10 OctPMDriverJonas Weber
17 OctAMGreeterGrace Kim, Ines Costa
17 OctAMPackerBen Okafor, Dev Patel, Elena Rossi
17 OctPMDriverJonas Weber
17 OctPMSetupDev Patel
24 OctAMGreeterElena Rossi, Ines Costa
24 OctAMPackerAna Ruiz, Frank Lee, Grace Kim
24 OctPMDriverCarla Meyer

All 19 places are filled. Nobody is on two shifts at the same time, nobody is over their maximum, nobody is in a role they excluded, and everyone has two shifts except Hugo, whose maximum is one. Jonas covers two of the three driver shifts because he is free only on Saturday afternoons, so the mornings could not use him. The scheduler checks all of that with a separate validator before it shows you the roster.

Make your own roster

Questions

What makes a volunteer schedule fair?

Nobody is asked for more than they agreed to, nobody is double-booked, and the work is spread so that no one carries two or more shifts above anyone else who could have taken them. Fair does not mean identical: someone who can only do one shift a month is not under-used by getting one.

Which shifts should I fill first?

The ones with the fewest available people for each place. If you fill the easy shifts first, your flexible volunteers get used up and the awkward early-morning or specialist shift is left empty at the end.

How many shifts should I ask each volunteer for?

Ask each person for their own maximum rather than setting one number for everybody, then plan for most people to get fewer than their maximum. Volunteers who are asked for less than they offered tend to come back; those asked for more tend to drift away.

What do I do about places that cannot be filled?

Look at why. If nobody is available, widen the ask or change the slot. If everyone available is already at their maximum, ask a few of them for one more shift, starting with the people the fairness report shows as under-loaded.

Should volunteers swap shifts themselves?

Allow it, but ask them to tell you. The reminder message includes who else is on each shift so people can arrange a swap with someone who can do the same role, and you can rebuild the roster with the change.