Free · no sign-up · nothing stored
Free Online Schedule Maker Generator
Type your time blocks once and a color-coded weekly timetable draws itself. Print it, download an .ics for Google or Apple Calendar, or copy the CSV — no account, no waiting.
1 · Add a time block
Day, start, end, a short title and a category. The grid updates the moment you add.
Your blocks
Five example blocks are pre-loaded — edit them, delete them or clear all.
2 · Display options
Your week at a glance
30-minute rows · overlapping blocks split into 2 lanes, deeper stacks show an overlap badge.
Summary strip
How it works
Three steps, no account, nothing leaves your device.
Pick a day, a start, an end, a short title and one of five categories. End times must be after start times — overnight entries are refused with an inline message.
Blocks land on 30-minute rows, colour-coded by category. Two blocks at once share the day column in side-by-side lanes; a third stack gets an overlap badge.
Print a one-page landscape PDF, download an .ics with real dates for Google or Apple Calendar, or copy the CSV into a spreadsheet.
What you get
Class, Work, Study, Fitness and Personal each carry their own tag colour, so the week reads at a glance.
Colliding blocks split the day column into lanes capped at two, then stack with a badge — nothing is ever hidden.
Weekly, Weekdays (Mon–Fri) or a single day, starting on Monday or Sunday, with 12-hour or 24-hour labels.
A print stylesheet hides the form and fits the landscape grid on a single sheet with the colours kept.
One VEVENT per block with local floating DTSTART/DTEND so the times import exactly as typed.
Hours per day, hours per category and the total block count update on every edit — handy for spotting an overloaded Tuesday.
FAQ
Is my schedule saved or uploaded?
No. Every calculation, the grid and the exports run inside your browser — nothing is sent anywhere and closing the tab clears the schedule.
Why is my overnight block rejected?
A block whose end time is earlier than or equal to its start (for example 22:00 – 02:00) would be ambiguous on a single-day grid, so it is blocked with an inline message. Split it into 22:00 – 23:59 and 00:00 – 02:00.
Will the .ics import into Google Calendar correctly?
Yes. Each block becomes a VEVENT on this week's date for its weekday, using local floating times (no timezone shift), so calendar apps place it at the exact time you typed.
What happens with two blocks at the same time?
Both stay visible: the day column splits into two lanes. A third overlapping block stacks slightly offset with a small badge counting how many blocks it collides with.
Does it work on a phone?
Yes. The form stacks first, the timetable scrolls horizontally with its day headers intact, and the export bar sticks to the bottom of the screen while you work.