Lesson Plan Template
Generate a structured lesson plan from a fillable form. Standard sections (objectives, materials, steps, assessment, reflection). Markdown + printable HTML output.
Header
Learning objectives
Materials
Instructional steps
Assessment
Differentiation
Reflection
Enter input above to see the result.
What is this for?
Lesson plans are the work behind the work. A good one lets a substitute teacher take your class without panic, lets a head of department see what's happening across a department, and lets you reflect honestly after the bell. But writing one from scratch every time is friction — most of the structure is the same across every lesson you'll ever write, and only the content changes. This tool gives you the structure as a form: fill in subject, grade, duration, objectives (with Bloom's taxonomy tags), materials, the instructional sequence, assessment, differentiation, and reflection. It hands you back a clean markdown file (paste into your LMS, share with a TA, save into your unit folder) and a printable HTML view (print to PDF, hand to a sub, pin behind your desk).
How to use it
- Pick a template. Standard works for most lessons. 5E is the canonical inquiry science cycle. Gradual release ("I do / We do / You do") is the bread-and-butter direct-instruction frame. Inquiry-based and PBL start from a question or a problem.
- Fill in the header. Subject, grade, duration are non-negotiable; date and teacher are useful when you'll share the plan.
- Write objectives. Tag each with the highest Bloom's level the student will reach. Mixing levels is fine — one Remember + two Apply is normal. All-Remember is a warning sign that your lesson is shallow.
- Sequence the steps. Each step has a timing, a name, what the teacher is doing, what students are doing. Add or remove steps as needed; the markdown table renders cleanly for any count.
- Plan assessment up front. Formative happens during the lesson (cold call, exit ticket, mini-whiteboards). Summative happens later (unit test, project rubric). If you can't name how you'll know they got it, the lesson isn't done.
- Differentiate explicitly. What does the support student get? What does the advanced student do when they finish early? "Same task" is a non-answer.
- Leave the reflection blank when planning. Fill it in after the lesson while it's fresh.
- Save as URL. Tick the save-to-URL toggle and the entire plan is encoded into the URL fragment — bookmark, share, or paste into a chat. Your data never leaves the browser.
Common gotchas
- Objectives are not activities. "Students will work in groups" is an activity, not an objective. "Students will identify the independent variable" is an objective. The verb has to be measurable.
- Bloom's is a guide, not a hierarchy you must climb. A great Remember-level objective ("Recall the periodic-table groups 1, 7, 8") is more useful than a vague Evaluate-level one. Pick the level that names what you'll actually measure.
- Time totals matter. If your step timings sum to 70 minutes and you have a 50-minute period, the lesson will fall apart. Add the numbers in the timing column before printing.
- Teacher actions ≠ student actions. Splitting them keeps you honest about who's working. If your "student actions" column says "listen" for 40 minutes, the plan is wrong.
- Formative assessment has to be lightweight. Exit tickets, hand signals, cold calls. If your formative check takes 15 minutes of a 50-minute lesson, you've turned it into a summative.
- Templates are starting points. A template tells you what shape a lesson can take; only you know what should be inside. Edit aggressively — the defaults are deliberately generic.
- Markdown tables strip newlines inside cells. Your HTML preview keeps line breaks; the markdown output flattens them so the table doesn't break in GitHub or your LMS. Use bullet-style instead of long prose if a cell needs structure.
- This tool doesn't do alignment to standards. If your school requires you to tag every objective with the relevant national/state standard, do that in your own field — copy the markdown into your school's template afterwards.
What it doesn't do
- It doesn't generate objectives for you — that's the part that has to come from you and your students.
- It doesn't store anything server-side. The URL fragment is purely client-side.
- It doesn't enforce a particular national curriculum format. You may need to copy the markdown into your school's official template afterwards.