ClassCalClasses, studios & workshops.
YOUR SCHEDULE, YOUR WAY

One place for your group schedule.

Plan a gym, yoga or dance timetable, a workshop series, or an academic term. Build by hand, import a syllabus, or combine both. Export one calendar when you’re ready.

Free · No account needed
BUILD IT YOURSELF

Create from scratch

Click a day and time on the weekly grid to create a class. Choose its repeat days and term dates, then watch your schedule take shape.

START WITH A DOCUMENT

Import a syllabus

Read a PDF, Word document, or pasted text. Review the suggested events, then add them to the same calendar.

Use either option at any time. Click an event to edit it; choose Open visual builder to build on the time grid.

Resource conflicts

Warnings allow intentional overlaps. Checks compare matching instructor names and rooms at the same location, using the schedule’s clock times. Events without end times and all-day events cannot be checked for resource occupancy.

Schedule agenda

All dates, in order.

SYLLABUS IMPORT

Import a syllabus or activity schedule.

1 Add syllabus2 Review events3 Add & export

Choose your syllabus file or paste the text below. Check the extracted text, then find and review the events.

PDF, Word .docx, or plain text · Up to 10 MB. Choosing a file replaces the text below after it has been read.

Your file is read on this device.

0 / 60,000
CREATE YOUR SCHEDULE

Visual schedule builder

Add event

Original syllabus text

Edit recurring session

Which sessions should this change affect?

CLASSCAL GUIDE

From source to schedule.

To build from scratch, choose Open visual builder, then click a day and time in the grid. Each click opens a class with that weekday and start time selected. Colored blocks show duration and appear side by side when they overlap. Use Add a one-time event for individual appointments. Recurring classes let you choose weekdays, term dates, times, and skipped dates. Repeat for each class, then export. You can also import a syllabus into the same calendar.

  1. Find the events.

    Choose a PDF or Word .docx syllabus, or paste text. Check the year and numeric date format, then choose Find events. Supply term dates for recurring classes.

  2. Review the details.

    Extraction is based on recognizable patterns, not an AI interpretation. Check every suggestion and the lines that weren’t recognized. Cards are ordered weakest evidence first and labeled High, Medium, or Low confidence; that label reports how much of the event the source stated, not whether the reading is correct, so a High confidence card still needs your eyes. Relative dates such as “week six” need an actual date. Choose All day for a deadline only when that is what you intend.

  3. Export to Calendar.

    Download one ICS file for the events in your planner. Open it in a compatible calendar app, or use the app’s import feature. Google Calendar imports files through its desktop website.

A downloaded file is a snapshot.

Editing ClassCal does not update previously imported calendars. Repeated imports may create duplicates. A separate destination calendar makes it easier to replace a whole schedule.

Reusing schedules and editing sessions

Use Duplicate in an event editor to create a similar class. Reuse a week copies the selected week into a new date range after preview. Open a recurring session from the agenda or grid to edit one occurrence, this and future occurrences, or the entire series. Sidebar cards edit the entire series. Instructor, room, and activity details appear in exports. Resource conflicts warn but do not prevent saving.

Times, deadlines, and holidays

Choose a schedule time zone before sharing across locations. With a zone selected, timed sessions export as individual UTC events, preserving local class times across daylight-saving changes. Ambiguous or nonexistent clock-change times block export. Leave the zone blank only when you want floating destination-local times. A timed event with no end time exports as a point in time. All-day end dates are inclusive in this app. Weekly and every-two-week events can skip dates entered in their editor or reviewed in Add closure dates; importing a holiday does not apply those exclusions automatically.

Where is my data saved?

Saved events and their source sentences are kept in this browser on this device. Syllabus text is processed locally and is not sent to an AI service or application server. The full syllabus text is retained only in the open page. File reading requires a current browser; PDF reading should be tested on the deployed HTTPS site, not by double-clicking index.html. Clearing browser data can remove saved events. A JSON backup preserves editable events and source text; ICS exports include titles, instructor/activity details, descriptions, rooms, locations, and links, but not the stored source sentences. The hosting provider processes ordinary web requests. On the hosted site, Cloudflare also adds its own Web Analytics beacon to the page it delivers; that beacon belongs to the hosting provider and is not part of ClassCal. ClassCal itself sends nothing anywhere: it makes no third-party request, and your schedule content is never transmitted. Opening this page as a local file loads no beacon at all.

What can this version read?

Text-based PDFs, Word .docx files, and pasted text with English dates and weekdays. Dated Week / Date / Lab / Experiment tables can inherit a clearly labeled Class Time and Class Location. No Lab rows are excluded by default. Dated prose lists and parenthetical draft or outline deadlines are also recognized, along with weekday lists such as M,W. Tentative dates remain flagged. Missing times and term boundaries need your input. Check all dates, inherited details, and unrecognized lines. Older .doc files must be saved as .docx. Scanned PDFs need OCR first; images and Word comments are not read. Automatic Google connections and arbitrary natural-language interpretation are not included.

Help improve ClassCal (optional, never leaves this device)

ClassCal can count how long a schedule takes to build and how many suggestions needed correcting. It records numbers only — never event titles, source sentences, dates, rooms, instructors, or any text from your documents — and it sends nothing anywhere. Turn it on, work normally, then download the count file and share it only if you choose to.

Measurement is off. Nothing has been recorded.

Confirm