Honest comparison
Free timetable software for schools
The subject allocation your school already writes, turned into a clash-free week in seconds — a grid per class, a grid per teacher, doubles kept together, and a plain list of anything that would not fit. It is not a school management system, and this page is honest about the difference.
10 free tools linked from this page · none of them need an account
The timetable generator takes the allocation a school already keeps — class, subject, teacher, periods a week — and returns a week that does not clash. A grid for every class, a grid for every teacher, double periods in adjacent slots on one day, teachers’ unavailable days left empty, and a plain list naming anything that could not be placed. It is free and nothing about a pupil or a member of staff is uploaded.
A school management system is a different animal entirely. It holds the pupil record, the register, the assessment history, the safeguarding notes and everything that goes to parents, all year, for everybody. We do one job in an afternoon and then forget you. If you are choosing an MIS, this is not a competitor — it is the thing you might use in August while you are still deciding.
What a school MIS does that we do not
A timetable is one module of an MIS, and not usually the reason a school buys one.
- It holds the pupil record. Names, dates of birth, contacts, additional needs and safeguarding information, attendance and behaviour, year after year. We hold nothing: the allocation is read by your browser and forgotten when the tab closes.
- It is the register. Statutory attendance, taken lesson by lesson against the timetable, with the codes and the reporting that follow. Our timetable is a grid; nothing is taken against it and nothing is reported from it.
- It is how the school talks to parents. Apps, letters, reports and the returns a school has to make to whoever it answers to. None of that exists here.
- It is contracted and supported. A supplier, a contract, a data processing agreement and someone to ring in the first week of September. Here there is a contact form.
- It can model things ours cannot. We do not do room allocation, and we cannot split a class into sets that run at the same time — the generator assumes one class is in one place at a time. If your timetable turns on rooms or option blocks, you need a scheduler that models them, and this is not one.
Side by side
6 rows go their way and 5 go ours, and the ones they win are printed first. Nothing in the right-hand column is a claim about any particular product’s price or features — we have no way to check those, so we do not state them.
| What you need | Here, free, in your browser | A school MIS you license |
|---|---|---|
| Pupil records, attendance, safeguarding | None. Nothing is stored at all. | The reason a school buys one. |
| Rooms | Not modelled. Classes and teachers only. | Ask specifically what its scheduler does with rooms before you buy. |
| Option blocks and sets running in parallel | Not supported. Two teachers for one subject can be written as two rows, but a class split into simultaneous sets cannot. | This is the question that separates timetabling products. Ask it. |
| Carrying the timetable to next year | It exists in the file you downloaded, and nowhere else. | Held and rolled forward. |
| Support in the first week of September | A contact form. | A contract. |
| Reporting to whoever the school answers to | Nothing. | Built in. |
| Getting a clash-free week out of an allocation sheet | Seconds. The worked example — four classes, eleven teachers, a hundred and forty periods — settles in well under a second, and changing the seed gives a different arrangement of the same allocation. | Also its job, once the data is in the system. |
| Knowing what is guaranteed and what is only attempted | Stated plainly. Guaranteed: no teacher in two places, no class with two lessons, unavailable days empty, daily maximums respected, doubles adjacent — all re-checked after the grid is built. Attempted: spreading a subject across the week, keeping free periods together, levelling daily loads. | Varies. Ask to see what it checks after it has built a grid. |
| What happens when something will not fit | It names the class, the teacher and the arithmetic — one teacher’s periods against the days times periods available — instead of producing a quiet bad plan. | Varies. |
| Trying it before any procurement | Open the page in August with a spreadsheet and no purchase order. | A licence, and usually a migration. |
| Where staff and pupil data goes | Nowhere. It is read and built by your own browser, which is what lets a school try it without a data processing agreement or a consent form. | A hosted MIS is a processor of pupil data and needs the paperwork that goes with it, which is normal and right. |
When you should buy the real thing
A school needs an MIS. Nothing on this page changes that, and it is not trying to.
- You need attendance, pupil records and reporting. They are not optional and no free page replaces them.
- Your timetable turns on rooms, option blocks or sets that run at the same time. Ours models none of the three.
- More than one person builds the timetable, or it has to be changed all year as staffing changes.
- It has to roll forward year on year, with last year as the starting point.
- Somebody has to be accountable for pupil data under a contract. A free static page cannot be that somebody.
What you can do here for nothing
Everything below runs in your browser unless it is marked “free to try”, which means an AI tool with an account and a monthly allowance. None of it files anything.
The two jobs that eat a week each
The problems a computer is good at and a person is not.
Marks in, paperwork out
The December fortnight, made shorter.
The office work around it
Lists, letters and certificates.
Frequently asked questions
What does it need from me?
The subject allocation your school already writes: one row per class, subject, teacher and periods a week. Column names are matched for you. Teachers’ unavailable days and fixed periods like assembly go into two text boxes, and that is the whole input.
What does it guarantee?
No teacher in two places at once, no class with two lessons at once, no teacher booked when you said they were unavailable, no teacher over the daily maximum you set, and every double period in two adjacent slots on one day. All of those are re-checked after the grid is built, and it refuses to call a timetable finished if any of them fails.
And what does it only try to do?
Spreading a subject across the week rather than twice in a day, keeping teachers’ free periods together instead of scattered, keeping the last period off the subjects you name, and levelling daily loads. Those are scored rather than enforced, because a timetable with a few of them imperfect beats no timetable.
Can it allocate rooms?
No. It places classes and teachers into periods and nothing else. If rooms are the binding constraint in your school, this will give you a week that looks right and is not, so use a scheduler that models them.
Why did some lessons not fit?
Almost always arithmetic rather than bad luck. Add up one teacher’s periods a week: if it exceeds days times periods, no arrangement exists. The same goes for a class. The unplaced list names the class, the subject and the teacher, and the summary shows each teacher’s load against the maximum possible, so the cause is usually visible in one line.
Is any staff or pupil data uploaded?
No. The allocation is read by your own browser, the timetable is built there, and the spreadsheet and PDF are written there. Names and teaching loads never leave the device.