Marathon training plan template

A training plan in a spreadsheet is easy to write and easy to forget, because the spreadsheet isn't where you look every day. Typing the plan into your calendar by hand fixes that, but then a missed week means dragging eighteen events around one by one.

This template keeps the plan in the sheet and lets the calendar follow it. Each workout is an all-day event, so “Long run — 18 mi” sits at the top of the day whether you run at 6 AM or 6 PM. If you shuffle the plan after a missed week, every subscribed phone picks up the new version. The sample below is a 10-row excerpt from the peak-and-taper end of a fall cycle.

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
DateOne row per assigned workout. Rest days can just be left out.9/26/2026
EventThe workout, written the way you want to read it at the top of the day.Long run — 20 mi
NotesOptional. Fueling, pacing, and rehearsal details go in the event description.Peak week — carry all fuel

Sample data

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

DateEventNotes
9/12/2026Long run — 16 miFuel every 45 min, easy pace
9/16/2026Intervals — 6x1000 at 10K effort400 jog recovery
9/19/2026Long run — 18 miPractice race-morning breakfast
9/23/2026Tempo — 8 mi with 5 at marathon pace
9/26/2026Long run — 20 miPeak week — carry all fuel
9/30/2026Intervals — 5x1200Last hard track session
10/3/2026Long run — 20 miFull race-kit rehearsal
10/10/2026Long run — 14 miTaper begins
10/17/2026Long run — 10 miLast 3 mi at marathon pace
10/25/2026RACE DAY — marathonCorral B, gun at 7:00 AM
  • With no Time column, every workout is a true all-day event: an assignment for the day, not an appointment. You decide when to run.
  • When a week gets rearranged, rearrange the sheet. Swap dates or drop a workout, and the calendar reflows on the next sync instead of you dragging events one by one.
  • Give race day its own row so it stays visible at the top of the calendar as it gets closer.
  • If you train with a group or a coach, use one sheet and one feed. When the coach adjusts week 14, it adjusts for everyone subscribed.

Questions

Why all-day events instead of scheduling my usual 6 AM slot?
The plan says what to do, not when to do it. All-day events sit at the top of the day and won't fire a pre-dawn alert on a day you planned to run at lunch. If you do want workouts pinned to a time, add a Time column, and any row you fill in becomes a timed event.
My coach tweaks the plan every Sunday. Do I re-import anything?
No. The sheet is the source of truth. Your coach edits it, and your subscribed calendar picks up the changes automatically, hourly on the free plan or every 15 minutes on Pro. Events update in place, so nothing duplicates.
Does a full 18-week plan fit on the free plan?
It depends on how dense the plan is. The free tier caps a feed at 50 events. Long runs plus two key workouts a week for 18 weeks comes in right around the cap, while a full seven-day plan is 120+ rows and needs Pro ($12/mo or $99/yr), which has no per-feed event cap.
Can I share my plan with training partners without giving them the spreadsheet?
Yes. Partners subscribe to the feed from the share link and get the events only, while the sheet stays yours to edit. Nobody needs an account to subscribe.

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