School year calendar template

Most schools publish the year calendar as a PDF, and every family retypes the dates they care about into their own phones. Then an early dismissal gets added in October and half of them miss it. This template keeps the academic year in a spreadsheet the front office already maintains and turns it into a calendar feed families subscribe to once.

When you add a conference day or move an early dismissal in the sheet, the change lands on every subscribed phone. No re-downloading, and no “updated calendar attached” emails.

Opens a live preview of the sample events below — no account needed. Swap in your own rows when you're ready.

The columns

One row per event, headers in the first row. That's the whole format.

ColumnWhat it becomesExample
DateThe day. Most school-year entries are all-day, so this is often the only date field you fill.8/24/2026
TimeLeave blank for all-day entries, which is most of them. Fill it in only for timed events like Back-to-School Night.6:00 PM
EventBecomes the calendar event title families see.First day of school
NotesOptional details. Dismissal times, which grades are affected, when classes resume.Dismissal at 1:15 PM

Sample data

This is exactly what “Use this template” loads into the preview — replace it with your real schedule.

DateTimeEventNotes
8/24/2026First day of schoolK–5 doors open 8:10 AM
9/7/2026Labor Day — no school
9/24/20266:00 PMBack-to-School NightGym — all grades
10/12/2026Early dismissalDismissal at 1:15 PM — teacher in-service
11/25/2026Thanksgiving break — no school
11/26/2026Thanksgiving break — no school
11/27/2026Thanksgiving break — no school
12/21/2026Winter break beginsClasses resume 1/4/2027
1/18/2027MLK Day — no school
3/11/2027Parent-teacher conferences — no schoolSign-ups open 3/1
6/10/2027Last day of schoolDismissal at 12:00 PM
  • Leave Time blank for no-school days, breaks, and dismissal days. A blank Time makes a true all-day event, which shows on the correct day for every family no matter their timezone.
  • For a multi-day break, use one row per day, like the Thanksgiving rows above, so every day of the break shows up marked on family calendars.
  • Put dismissal times in Notes rather than Time. An early-dismissal day is still a whole-day fact, and a 1:15 PM timed event reads like a meeting.
  • Keep the header row exactly as-is. It's how the columns are recognized when the sheet syncs.

Questions

Hundreds of families would subscribe to this. Do they each need an account?
No. Families get one subscribe page with one-tap buttons for Apple Calendar, Google Calendar, and Outlook, plus a raw feed URL for anything else. Only the person who maintains the sheet ever signs in.
Will all-day events like breaks show on the right day for everyone?
Yes. All-day entries are published as true date events, not midnight events in some timezone, so the last day of school lands on the same square for a family checking from anywhere.
A full district year has a lot of dates. Which plan do I need?
The free plan covers one feed with up to 50 events, which fits many single-school years. If per-day break rows push you past 50, or you publish separate elementary, middle, and high school calendars, the Pro plan ($12/mo or $99/yr) covers 10 feeds.
The board just added an in-service day mid-year. What do families see?
Add the row to the sheet and the new event appears in every subscribed calendar on the next sync, hourly on the free plan or every 15 minutes on Pro. Google Calendar subscribers may see it later, since Google refetches subscribed feeds on its own schedule, up to 24 hours.

Start with the sample, finish with your schedule.

The preview is live in seconds. Your roster subscribes once and stays in sync.

Use this template