Timetable Builder

Fill in your timetable (or import a CSV), add duty/intervention/timing details, then preview and print. Nothing here leaves your browser.

0. Auto-import from PDF (optional)

Sends your timetable PDF to a small parsing service you deploy yourself (see backend/README.md) — one API call, then the result fills in the sections below for you to check. Skip this and use CSV/manual entry if you haven't set it up.

1. Your lessons

Type the class code in the top box, and pupil numbers (optional) in the small "pupils" box underneath it — e.g. code 7P2, pupils 25. Add @ROOM after a code only if that lesson is in a different room than usual, e.g. 10Q6@E210. Pupil numbers show on A4 output only. A CSV can start with optional Room,E206 and RegCode,11B lines — these auto-fill the fields in section 2, so you don't have to type them separately.

2. Basics

3. Timings

Editable — defaults shown are a standard 5-period day. Leave Friday blank if it matches Mon–Thu.

Mon–ThuFri (if different)
Reg
P1
P2
Break
P3
P4
Lunch
P5

4. Interventions (optional)

Each one adds a labelled strip under the main grid. A4 output only — the ID card is too small to fit these.

5. Output