Skip to content
Free download

A free staff rota template you can actually use.

A weekly rota for Excel — or Google Sheets, or LibreOffice — that adds the hours up for you, prints on one page, and asks for nothing in return. Prefer paper? The same grid comes as a printable PDF. No sign-up, no email address, no catch.

Excel: 14 KB · no macros · opens in Google Sheets and LibreOffice Calc too · PDF: 9 KB · one A4 landscape page · both free to use and share · how to use it

rotabot-staff-rota-template.xlsx
ABCDEFGHIJKLMNOPQRSTUVWXY
1Weekly staff rota
2Week commencing Site / team Prepared by 
3
4NameRoleMondayTuesdayWednesdayThursdayFridaySaturdaySundayWeekContract
5StartEndHrsStartEndHrsStartEndHrsStartEndHrsStartEndHrsStartEndHrsStartEndHrshourshours
6Sam PatelFront of house12:0020:008.012:0020:008.017:0000:007.012:0022:0010.033.032
7Priya ShahFront of house10:0016:006.010:0016:006.018:0023:005.018:0000:306.511:0017:006.029.524
8Tom OkaforKitchen09:0015:006.009:0015:006.016:0022:006.009:0015:006.009:0015:006.030.030
9
10
⋮twelve more blank rows
22Hours rostered14.06.014.06.018.022.512.092.586.0
23People on shift2121332
Weekly RotaHow to useBlank Template
The Weekly Rota sheet: name, role, start and end times for Monday to Sunday with hours calculated per day, a weekly total, contracted hours, and totals rows for hours rostered and people on shift each day.
What you get

Three sheets and a printable page. Nothing hidden.

One Excel rota template, built to be filled in by somebody who has a business to run and would rather not learn a spreadsheet to do it — and the same grid as a PDF for the wall.

Weekly Rota

Fifteen rows, one per person: name, role, start and end for Monday to Sunday, hours per day, the week's total and their contracted hours. Three tinted example rows to type over.

How to use

The instructions on this page, inside the file, so they travel with it. Including the one assumption the maths makes.

Blank Template

The same sheet with no examples, for when you have got the hang of it. Copy the tab for a new week.

Printable PDF

The blank weekly grid on one A4 landscape page, to fill in by hand and pin up. Paper cannot add up, so the hours are yours to write in; the spreadsheet does that part for you.

The maths it does for you

Hours per day come from the start and end times, so a shift that runs past midnight — 22:00 to 02:00 — counts as four hours, not minus twenty. The week is summed per person, and two rows at the bottom total the hours rostered and count the people on shift for each day, which is the quickest way to spot a thin Tuesday.

Its one assumption

No single shift is 24 hours or longer. The hours shown are the span of the shift; if you pay unpaid breaks separately, note your rule at the top and subtract it at payroll. The template keeps the maths simple on purpose, because a spreadsheet you cannot audit at a glance is one you stop trusting.

How to use it

Five minutes, once.

  1. 01

    Put the week's start date in the Week commencing box, and your site or team name beside it.

  2. 02

    One person per row: name, role, and their contracted hours in the last column. Leave it blank for zero-hours staff.

  3. 03

    For each day they work, enter a Start and an End as times — 09:00 and 17:30. Leave both blank on a day off.

  4. 04

    That is it. Hours per day, the weekly total, hours rostered per day and people on shift per day all fill themselves in.

  5. 05

    Print it: landscape, one page wide, with the headers repeated on every page. Or share the file — it opens in Google Sheets and LibreOffice too. Rather write it by hand? Print the PDF instead.

Google Sheets

Upload the file to Drive and open it, or File → Import in an existing sheet. The formulas are ordinary ones — IF, MOD, SUM, COUNT — so nothing breaks in translation.

More than 15 people

Insert rows above the Hours rostered row and copy a blank row's formulas down. The totals rows are ranges, so they pick the new rows up.

A new week

Right-click the Weekly Rota tab, Move or Copy, Create a copy. Or start from the Blank Template sheet, which has no examples in it.

Where a template stops

It shows the rota. It does not know whether the rota works.

This is not a criticism of spreadsheets. A grid of names and times is a perfectly good way to publish a week for a small team. The work it cannot do is the work you are doing in your head while you fill it in.

  • Who is actually available each day, and who has told you they are not
  • Who is on approved leave, and whether the week is still covered without them
  • Whether contracted staff are getting their hours, and casual staff are not quietly over
  • Who is trained for what — and who is on the rota for a job they cannot do
  • How many people each hour actually needs, not just how many are in
  • The shift-length and rest rules that make a shift legal
  • The fixes you make every week, and why you keep making them
The common mistakes, honestly
  • Copying last week forward and carrying every assumption in it, including the ones that stopped being true.
  • Rostering somebody who booked the day off in a message you did not see.
  • A contracted person eight hours short, discovered at payroll.
  • Two people on a quiet Tuesday lunch and one on a Saturday night.

None of these is a spreadsheet error. They are scheduling errors a spreadsheet has no way to see.

A common search

Looking for a free rota app?

If what you need right now is a free way to build a week and share it, the spreadsheet above is a legitimate answer — it is free, it prints, it opens on a phone, and nobody has to sign up to anything. RotaBot itself is not free and is not what you are looking for at that stage; we would rather say so than pretend.

Software becomes worth it when

Availability and holidays need to be handled, not remembered; a rule has to be checked every time, not most times; the team wants their shifts on their phones; or you want the week built for you rather than by you.

Where to look next

Spreadsheet, rota software or automatic generation — which fits the week you have.The UK rota apps compared — which of them publish a free plan, and where RotaBot fits.What automatic generation actually does.

When the spreadsheet stops being enough

A spreadsheet can display a rota. RotaBot solves the problem behind it.

This works well until the scheduling problem is too complicated to hold in your head — more people, more contract types, trading hours that move, or a manager who would rather not spend Sunday evening on it.

Everything on the list above goes in

Availability, approved leave, contracted hours, training, the staffing each hour needs and the rules that make a shift legal — held as inputs, not remembered.

One press builds the week

RotaBot solves the whole week against all of it, measures coverage against your own requirements, and names any hour it could not fill and why. You review it before anybody sees it.

It learns from the way you manage

The difference between the rota it generated and the one you published is kept. A fix you make repeatedly is put to you to confirm, and a confirmed one informs future solves — within the rules you set, never around them.

Take the template. Come back when it is not enough.

The file is yours either way. If a week ever needs more than a grid can give it, we will show you the same week solved.

Scheduling a particular kind of business? Hospitality, pubs and bars, retail.