Coming from H5P?¶
H5P authors
If you already use H5P in Moodle, WordPress, or another LMS, LessonKit offers the same kinds of interactions as native React components—with one course app, stable IDs, and SCORM/xAPI/cmi5 export via the CLI.
Policy: LessonKit does not embed H5P, import .h5p files, connect to H5P Hub, or consume H5P semantics.json. You reimplement familiar activity types using LessonKit blocks.
LessonKit is React-first, not a plugin inside your LMS’s content bank. You author a small web app (Course → Lesson → blocks), declare assessments in lessonkit.json, then lessonkit package for delivery.
Find your H5P content type¶
Use the H5P capability map for the full table (machine name, display name, LessonKit id, roadmap status). Shipped blocks link to component pages with live demos.
Available today (framework 1.7.x)¶
H5P name |
LessonKit |
Notes |
|---|---|---|
Sort the Paragraphs |
SPA scoring; |
|
Guess the Answer |
Scored or reveal-only ( |
|
Multimedia Choice |
MCQ with image/audio; |
|
Single Choice Set |
Sequential MCQ compound; child |
|
Multiple Choice ( |
Single-select (default), multi-select ( |
|
True/False |
|
|
Fill in the Blanks |
SPA scoring + |
|
Drag and Drop |
Keyboard pick-target mode; SPA + bridge scoring |
|
Drag the Words |
Inline drop zones; SPA + bridge scoring |
|
Mark the Words |
Selectable tokens; SPA + bridge scoring |
|
Question Set |
Aggregates child assessments; children use |
|
Interactive Book |
Compound navigation + session resume ( |
|
Course Presentation |
Slide navigation + keyboard controls + session resume |
|
Interactive Video |
Timeline cues; pause on interaction; session resume |
|
Branching Scenario |
Graph navigation; visited-path scoring; session resume |
|
Summary |
Statement-bank construct task |
|
Image Pairing |
Match image pairs |
|
Image Sequencing |
Order images |
|
Arithmetic Quiz |
Timed math prompts |
|
Essay |
Open text; plugin grading |
|
Questionnaire |
Unscored survey |
|
Memory Game |
Card flip pairs |
|
Information Wall |
Searchable panels |
|
Slideshow (parallax) |
Parallax slides with reduced-motion fallback |
|
Video (self-hosted) |
Native |
|
Iframe Embedder |
Sandboxed iframe; opt-in |
|
Chart |
Bar/pie with accessible data table |
|
Accordion |
Expand/collapse sections |
|
Dialog Cards |
Flip-card dialog |
|
Flashcards |
Card deck |
|
Image Hotspots |
Clickable regions on an image |
|
Image Slider |
Slide carousel |
|
Find the Hotspot |
Scored hotspot selection |
|
Find Multiple Hotspots |
Multi-select hotspots |
|
Scenario (narrative regions) |
Optional |
|
Open response / reflection |
Not auto-scored (like many H5P text tasks) |
|
Course shell |
One SPA vs one H5P activity per embed |
|
Progress |
Course-level progress, not per-iframe |
|
Content text / heading / image |
Framework content primitives |
|
Game Map |
Spatial compound navigation; optional non-scored stages (1.6.0) |
|
Table |
Accessible data table (1.6.x) |
|
Crossword / Word search |
Puzzle blocks (1.6.x) |
Planned (roadmap / capability map)¶
See the capability map for Tier A–E blocks not yet shipped (e.g. VirtualTour, Tier B P2 speech blocks).
Renamed on purpose
A few LessonKit ids differ from H5P labels where we already shipped or need clearer React names: Quiz = H5P Multiple Choice; SlideDeck = Course Presentation; AssessmentSequence = Question Set. Docs still use H5P display names where helpful (e.g. “Fill in the Blanks”, “Interactive Video”).
Wiring differences (H5P vs LessonKit)¶
Topic |
H5P |
LessonKit |
|---|---|---|
Package |
|
Vite |
IDs |
Per-content params |
Required |
Analytics |
xAPI from library |
Telemetry catalog + |
Theming |
Per content-type CSS |
Global |
Nesting |
Curated sub-content lists |
Same idea via compound blocks + catalog allowlists (shipped in 1.2.x+) |
Migrating from existing H5P content¶
Rebuild only — no H5P interop
There is no .h5p import, H5P Hub integration, semantics.json bridge, or H5P runtime embedding. Migration means mapping each legacy activity to a LessonKit block in the capability map, authoring it in React, and syncing courseId / lessonId / checkId with lessonkit.json.
Framework 1.6.x adds .lkcourse export for sharing LessonKit projects between teams—not for reading H5P packages.
Next steps¶
Map your activities — H5P capability map
React path — Quickstart · Components & hooks
Ship to LMS — Packaging · Vibe coding: shipping
Roadmap detail: H5P-aligned backlog in the repo.