Free tools
Weekly rota template that adds up the hours
Enter your people and their shift times. The tool subtracts the break, totals the hours per person and per day, and hands you the plan to print or a CSV for your spreadsheet.
- It does the arithmetic: break deducted, shifts across midnight recognised, weekly total per person.
- Nothing is transmitted. The calculation runs in your browser and no entry leaves this page.
- Two ways out: print it for the wall, or export CSV for Excel, Numbers or Google Sheets.
Weekly plan
Optional. Pick any day and the field jumps to the Monday of that week.
Totals per day
Every shift entered for that day, added together.
- Mon 0:00
- Tue 0:00
- Wed 0:00
- Thu 0:00
- Fri 0:00
- Sat 0:00
- Sun 0:00
Week total (everyone) 0:00
Nothing entered yet — a start and an end time are enough, the hours appear immediately.
What the tool works out
A shift from 09:00 to 17:30 with a 30-minute break comes to 8:00 hours — 8.00 in decimal, which is the figure payroll works with.
If the end time is earlier than the start time, the tool assumes the shift runs past midnight: 22:00 to 06:00 is eight hours, not minus sixteen.
Every total is built from minutes, not from the already rounded figures on screen. The h:mm column therefore always adds up; the decimal beside it is rounded to two places and can differ in the last digit.
What the EU working time rules require
Three questions a rota has to answer: does anyone exceed the weekly maximum, does everyone get their break, and are there enough hours between two shifts? Across the EU the frame is Directive 2003/88/EC.
- Maximum weekly working time: the average over each seven-day period, including overtime, must not exceed 48 hours (Article 6). The reference period over which that average is taken is set nationally.
- Breaks: where the working day is longer than six hours, every worker is entitled to a rest break (Article 4). The directive deliberately leaves the length to national law or to collective agreement — so the minutes you have to enter here are a national figure, not a European one.
- Rest: a minimum of 11 consecutive hours of daily rest in every 24-hour period (Article 3), plus an uninterrupted weekly rest of 24 hours on top of those 11 in each seven-day period (Article 5).
These are EU minimum standards; member states may and often do set stricter rules, and sectors such as transport have their own. Outside the EU — the United Kingdom, the United States, Australia and everywhere else this page is read in English — different law applies, so check the rules of the country you employ in.
And the limit that belongs to this template: it is a plan, not a record of time worked. What was actually worked has to be documented — the Court of Justice held in 2019 that member states must require employers to set up a system measuring the daily working time of each worker (Case C-55/18). A weekly grid filled in once does not do that.
Frequently asked questions
No. The plan lives only in the browser on this page. Nothing is sent and nothing is saved — reload and the grid is empty again, which is why printing and CSV are the two ways to keep the result.
If the end time is before the start time, the tool assumes the shift runs past midnight and adds 24 hours. The hours are credited to the day the shift begins on.
Not in this template: the minutes you enter are deducted from the length of the shift. That matches how a rest break is treated in most working time law — it interrupts work rather than counting as it.
No. A rota says who is meant to work when; a time record says who actually worked when. For the second you need timestamped recording and retention, not a weekly grid.
Further reading Why a fully booked day almost always overruns, and where the slack in a diary belongs: Buffer times: why the diary is full and the day still does not work