New for V3.3

New page where you can view all your tables at once, or delete particular ones.


You can now create and save your own themes for more control over a timetables's appearance.

New Print window.


You can now save Schools to disk, so they can be used on different computers or browers.

Pupils can have their own 'rotation' setting (see below).


Hopefully most of the site is self-explanatory but here you can find more detail about certain areas. There is also a video tutorial here. Version 3 is written mostly in Javascript, so that will need to be enabled in your browser (it usually is). Also, you should know that the site uses cookies.


If you reload the Home page (which includes the six tabs) it will reset and any unsaved data will be lost. Links to other pages (eg Contact) therefore open in a new window, so the previous one is still available. If you 'lose' the Home page, it's here.

Home tab

Here you will see a list of schools saved in the Timetable tab, as well as a 'demo school', which you can load or delete. If you are new to the site it is recommended that you load the demo school and look at the different tabs to see what data a school comprises. You can also load a school from your hard drive if you saved any to disk from the Timetables tab. Or you can make a new blank school: click 'Make new school' and you will be invited to enter details on each tab in turn.

Data entry tabs

For the Pupils, Term dates and Lesson times tabs you add new entries by filling in the blank text field and clicking Add(/Save). To edit an existing one click Edit, edit the field and click (Add/)Save.

Pupils tab

Sorted alphabetically by first name. In the timetable itself you can choose between showing the full name, just the first name, or initials. You can override the default Rotation setting (see right) for a pupil - useful for 6th formers who can come at any time during their free periods.

Term dates tab

Enter as words and numbers eg jan 20 2019 and the date will be interpreted and shown as (d)d mmm(m). You must enter the year so the program knows if lessons are in the past or future (see 'Set completed lessons' below) although the year won't be shown in the timetable.

Lesson times tab

The table is sorted alphabetically, hence the need to use the 24-hour clock. This is so that you can easily insert a new time in the right place. If you want the time to appear differently on the timetable, insert a pipe (|) followed by how you want it to look. Eg '13.00 |Lunch' or '13.50|1.50'

Rules tab

You can make multiple selections from the list of pupils, by holding Shift as you click for adjacent or Control for separate ones. When you do this the table won't try and show rules already set for all the selected pupils, but will show a blank grid. But then any rules you set will apply to all the selected pupils.

Set completed lessons as rules

This updates the rules to fix lessons in the past. Suppose you have made a timetable, but after two weeks you are told a pupil cannot come at a certain time from now on. Then you would load the relevant school, click this button, add the new rule then update the timetable. The point is that the program needs to know about lessons in the past to preserve the rotation.

Timetable tab

Shows your completed timetable. It shouldn't ever take more than 15 seconds to produce, and is usually very much faster. You can revise it with different settings, alter the appearance. You may have to click 'Update' to see the latest changes.


How many weeks must have passed before a pupil can have a lesson at the same time.

Fill mode

Normal: One lesson later each week.
Skip: Two lessons later each week (should completely avoid the previous week's lesson).
Random: As it says.
Random skip: Random but tries to avoid adjacent lessons on consecutive weeks.
Notice that the first two will produce the same timetable for any given set of data and rules but the last two will produce a different one each time. If there are many rules some modes may give better results than others so do experiment.


'Manage themes' opens a new window where you can control certain aspects of a timetable's appearance. When done, close the window and click 'Update list' in the main window.

Save school

Saves the school, including data, rules and the current timetable with the name shown. It is stored in your browser so can only be reloaded in the same browser on the same computer.

Save to disk

As above, but it is saved to your hard drive (by default, your Downloads folder). This is useful as a backup, or if you want to open a school in a different browser or computer.


If you have made a donation you can put the current timetable online. Its URL will be This can be accessed by anyone from anywhere, and there is no security in place. In the same folder there will be a file 'list.php' where you can manage your online tables.


Opens a new window from where you can print the timetable. To print the colours, you may have to select an option either in the browser print window, or in the browser's settings.