~/edusplit
study plan gpa kanban ☕ Support me apps ← about me
 ███████╗██████╗ ██╗   ██╗███████╗██████╗ ██╗     ██╗████████╗
 ██╔════╝██╔══██╗██║   ██║██╔════╝██╔══██╗██║     ██║╚══██╔══╝
 █████╗  ██║  ██║██║   ██║███████╗██████╔╝██║     ██║   ██║
 ██╔══╝  ██║  ██║██║   ██║╚════██║██╔═══╝ ██║     ██║   ██║
 ███████╗██████╔╝╚██████╔╝███████║██║     ███████╗██║   ██║
 ╚══════╝╚═════╝  ╚═════╝ ╚══════╝╚═╝     ╚══════╝╚═╝   ╚═╝ _

EduSplit — Lesson Hour Planner for Teachers

Set your timetable → block holidays & exam periods → get a week-by-week curriculum map — no signup, fully private

📋 Configure your timetable, block any holidays or exam periods, add your courses, then click generate plan.

Guide — curriculum hours mapped onto your school year

Weekly timetable, holidays and exam periods, per-course surplus or shortage, and a week-by-week plan. Saved in your browser.
1Set the semester

Pick a start and end date and the minutes per period: 40, 45, 50, 55, 60, 70, 75, 90 or 100, or Custom… for 10–180 minutes.

2Click your weekly timetable

Choose 4–10 periods per day, then click the P1, P2… slots you teach, Monday to Sunday. Active slots turn green and the summary shows periods and hours per week.

3Block holidays and exams

Press + add block, give it a label and a date range, and choose Holiday, Exam period or School event. Every lesson on a blocked day is removed.

4Add your courses

Press + add course and enter the name, the required hours (up to 999, in steps of 0.5) and the periods per week for that course.

5Generate and export

Press ▶ generate plan for the totals, a surplus or shortage per course and the week-by-week calendar. Export with ↓ CSV or ↓ plain text, or ⎙ print.

Quick reference

FORMULAHours per course
available
teaching weeks × periods/week × minutes ÷ 60
teaching week
a week with at least one unblocked lesson day
result
+h surplus (green) or h short (orange)
EXAMPLE3 periods of 50 min
per week
2.5 h
36 teaching weeks
90 h available
vs 100 h required
10 h short
DATAStorage & export
saved
browser localStorage, automatically
CSV
one row per day: periods, hours, status
text
course summary + week-by-week list

Lesson hour planning, explained

What is EduSplit and who is it for?

EduSplit is a free, browser-based lesson hour planner built specifically for secondary school teachers. It compares the instructional hours each course requires for a semester or year with the lesson time your weekly timetable actually gives you, after excluding holidays, exam periods and school events. No signup or download needed.

How do I set up my weekly timetable?

In the Weekly Timetable panel, click the period slots for each day of the week that you teach. Each active slot (highlighted in green) represents one lesson period. Set the minutes per period in the Semester Period panel (40 to 100 minutes, or a custom length) and the tool converts periods to hours automatically. Choose 4 to 10 periods per day and activate a different number of slots on each day, Saturday and Sunday included, to match your real school timetable.

How does blocking holidays and exam periods work?

In the Blocked Periods panel, click "+ add block" to add a date range. Set the start date, end date, and choose a type: Holiday (school-free days), Exam period (no regular lessons), or School event (assembly, sport day, etc.). EduSplit removes every lesson on a day that falls inside a blocked range, start and end date included, when calculating your available teaching time.

Can I plan multiple courses at the same time?

Yes. Add as many courses as you teach. Each course has its own required hours target. EduSplit calculates, per course, how many periods and hours the semester gives that course (its periods per week times the number of teaching weeks) and whether that leaves a surplus or a shortage.

What does the surplus or shortage warning mean?

If the hours a course gets (its periods per week times the teaching weeks left after blocking holidays and exam periods) are at least what it needs, EduSplit shows a green surplus indicator — you have breathing room. If they fall short of the required total, it shows an orange shortage warning with the missing hours, so you can add periods, extend the end date or flag the gap to management before the semester starts. A week counts as a teaching week when at least one lesson day in it is not blocked, so a week that is only partly blocked still counts in full: check short weeks in the calendar.

Is my data saved between sessions?

Yes. All your courses, timetable settings, and blocked periods are automatically saved to your browser's localStorage. Your planning data is not sent to a server; it stays on your device. There is no import, so the CSV and plain-text exports are a record of the plan rather than a backup you can load back. Clearing your browser data or pressing ✕ reset all removes the saved plan.

What is the difference between "periods per week" and "required hours"?

Periods per week is how many lessons a course gets each week, which you enter per course (e.g. 3 periods of 50 min = 2.5 h/week). Required hours is the total instructional time mandated by the curriculum for the full semester or year (e.g. 60 hours). EduSplit multiplies the periods per week by the teaching weeks in your calendar and compares the result with the required hours.

Can I use EduSplit for primary school or university?

Yes. The tool is designed for secondary school but works for any educational context where you need to map a fixed number of instructional hours onto a repeating weekly timetable, such as primary classes, university contact hours or tutoring across a term.

How are courses shown in the week-by-week calendar?

The calendar lists every day of the semester with its number of periods and hours, or the blocked label. The course tags on each day are an approximate, proportional spread of each course's periods per week over your teaching days, not a fixed timetable. The hour totals per course come from the formula in the quick reference above.

More free tools