Set your hours, add your kids & subjects, block out lunch and co-op, and get a printable daily & weekly routine with conflict warnings
Anchors the first block — every block flows forward from here.
Defines the day window; blocks past this are flagged as overrun.
Drives the weekly grid columns and every weekly/annual total. A 4-day week is common (Friday for co-op/catch-up).
Inserted after each subject block so the timeline is realistic.
Loop is ideal for enrichment across multiple kids.
Used for the teacher-conflict check on parent-led blocks.
Sets the default block length.
Tracks attention span. Auto-fills from band; edit if you like.
Weekly target sessions feed the coverage report and the loop rotation. Parent-led subjects drive the teacher-conflict check.
No children added yet — add at least one above to build a schedule.
Blank = flows in.
Applied to the days you school. Academic activities (co-op, morning meeting) count toward instruction hours; lunch/chores don't.
No shared activities yet — Lunch, Morning Meeting, and Chores are common.
Marks the day unavailable for home subjects (still counts per academic flag).
180 days ÷ days-per-week. 5-day ≈ 36, 4-day ≈ 45. Auto-suggests from your days.
Reference: NY 900/990, CO 720/990/1,080. Verify your state's statute (e.g. HSLDA).
If yes, the co-op block adds to that day's instruction.
Add at least one child, then your subjects and shared activities, to build a printable weekly routine.
Most homeschool "schedule templates" are static PDFs you can't actually edit, and spreadsheets are fiddly the moment you have more than one child. This homeschool schedule planner builds the routine for you. Set your school hours and days, add each child with a grade band and subjects, and block out shared activities (lunch, chores, morning meeting, co-op). The tool packs each child's subject blocks around those shared times, produces a printable weekly grid and a per-child daily timeline with clock times, and warns you about the things plans usually miss: teacher conflicts (one parent needed in two places), day overruns, over-packed days, and subjects that didn't fit. It also projects daily, weekly, and annual instruction hours and checks them against your state's minimum.
One child, Emma (grades 3–4, so a 30-min default block), schooling Mon–Thu 9:00–15:00
with a 10-min break. Subjects: Math, Reading, Writing, Science, History (4 sessions/week each). Shared activities:
Morning Meeting 15 min (academic), Lunch 45 min fixed at 12:00, Chores 20 min. The day window is
9:00→15:00 = 360 min. Shared time = 15 + 45 + 20 = 80 min, so available =
360 − 80 = 280 min. Each block + break = 30 + 10 = 40 min, so blocks per day =
floor(280 / 40) = 7. Emma's morning runs 9:00 Morning Meeting (all) → 9:15 Math → 9:55 break → 10:05 Reading…,
Lunch pins at 12:00, and subjects flow around it. Projected daily instruction = 7 blocks × 30 min = 210 min of
subjects + 15 min academic Morning Meeting = 225 min = 3.8 h. Weekly =
3.8 × 4 days = 15.0 h. Annual at 45 weeks = 15.0 × 45 ≈ 675 h. Against a
900-hr state minimum that's a SHORTFALL of ~225 h — so you'd add school weeks, lengthen the day,
or count more activities as academic. With 5 subjects × 4 sessions = 20 target sessions and 7 blocks/day × 4 days = 28 slots, every
subject's coverage target is met.
(end − start) minus shared-activity durations that day minus any co-op carve-out. Clamped to 0 (never negative).floor(available_minutes / (block_length + break_length)) — rounded down; you can't run a partial block.previous.start + block_length + break_length, rounded to the minute.subject_blocks × block_length + any academic shared activities (lunch/chores excluded by default). Hours = minutes ÷ 60, 1 decimal.deficit = max(0, target − scheduled) flags under-served subjects.subject[k mod L]; next-up pointer = sessions_completed mod L. If L = 0, the loop is empty (warned, not computed).This is a planning & layout tool, not a legal-compliance authority. The state-minimum check uses figures you enter (with built-in reference defaults); homeschool hour/day laws vary by state and change — always verify against your state's current statute or a state homeschool organization (e.g. HSLDA). Recommended block lengths are developmental guidelines (attention span ≈ 2–5 minutes per year of age, AACAP), not mandates — defaults are deliberately short so the printed schedule is achievable. The annual projection assumes every planned block actually happens; real weeks lose time to sick days, appointments, and rabbit-trails, so treat the annual hours as an optimistic ceiling and pad with buffer weeks. Many states count read-alouds, field trips, and co-op as instructional time — the tool lets you flag shared activities as academic, but how your state counts them is your responsibility. The tool stores nothing server-side and uses no external API: all math runs in your browser, recalculation is instant, and it works offline. Closing the tab can lose unsaved entries unless you Copy result, print to PDF, or use the share link.
You can also embed this planner on your own site — see the copy-paste embed code at the bottom of the page.
It anchors block[0] at your school-day start, places fixed-start shared activities (like a noon lunch) first, then packs subject blocks around them — each starting at the previous block's start + block length + break length. Blocks per day = floor(available minutes ÷ (block + break)). Anything that doesn't fit is listed under "Did not fit this day," never silently dropped.
It projects annual hours (weekly × planned weeks) and compares them to a state minimum you enter, with reference defaults (NY 900/990, CO 720/990/1,080). It's a planner, not legal advice — laws vary by state and change, so verify with your state statute or HSLDA.
For each time slot it counts overlapping parent-led blocks across all kids. If that exceeds your number of teaching parents (default 1), it flags a conflict — one parent can't teach two children at once. Mark subjects independent to stagger the parent-led load.
Fixed-grid pins each subject to a recurring slot (Tuesday always looks the same). Loop produces one ordered rotation you advance through, with a "next up" marker — great for enrichment across several kids so nothing is perpetually skipped.
No, not by default. Only subject blocks and shared activities you flag as academic (co-op, morning meeting) count. Counting lunch and chores to hit an hour minimum should be a deliberate, documented choice — and how your state counts it is your responsibility.
They track attention span — about 2–5 minutes per year of age (AACAP). A 6-year-old focuses ~12–18 minutes, so a 50-minute block invites meltdowns. Defaults: PreK/K 15, 1–2 20, 3–4 30, 5–6 40, 7–8 45, 9–12 50 minutes.
Your schedule is saved only in your browser. We don't store or sell your data. Planning aid — verify state requirements with your state statute or HSLDA.