H5P Interactive Content Guide for Moodle 2026: Create Engaging Activities
Research in cognitive science consistently demonstrates that active retrieval practice enhances long-term retention more effectively than passive re-reading. H5P is the tool that makes Moodle interactive without you having to write any code. It uses the principle of interactive content.
This guide tells you what H5P is, how it works in Moodle, how to install and configure it, which content types are most useful for course design, how to build your first activity, how grading and xAPI reporting work, and how to keep interactive content accessible and performant.
What Is H5P?
HTML5 Package is what H5P stands for. It is a framework that anyone can use to make interactive content that works in any modern web browser. Each activity in H5P content is its own unit -- a .h5p file containing HTML, CSS, JavaScript, and media assets. You create the content through a visual editor (no coding required), and it renders as an interactive element embedded in your course page.
The project is maintained by the H5P Group, which became part of Desire2Learn (D2L) in 2024. D2L's acquisition announcement described H5P as offering over 60 interactive content types, while the open-source core remains available under the MIT licence.
H5P integrates with Moodle, WordPress, Drupal, Canvas, Brightspace, and other platforms.
Key characteristics:
- No coding required. Every content type has a visual editor with forms, drag-and-drop interfaces, and WYSIWYG text fields.
- Platform-independent. H5P content created in Moodle can be exported and imported into WordPress, Canvas, or any other H5P-compatible system.
- Mobile-responsive. All content types adapt to screen sizes automatically.
- Gradeable. H5P activities report scores to Moodle's gradebook through xAPI statements.
- Reusable. Content can be shared through the content bank, downloaded as
.h5pfiles, and uploaded to other courses or sites.
Installing H5P in Moodle: Two Options
Moodle offers two approaches to H5P, and choosing the right one matters for grading, analytics, and long-term compatibility.
Option 1: mod_h5pactivity (Recommended)
This is Moodle's native H5P activity module, included in Moodle core since version 3.9. It uses Moodle's built-in content bank to store and manage H5P files.
How to enable it:
- Navigate to Site Administration > Plugins > Activity modules > Manage activities
- Confirm that "H5P" has an open eye icon (enabled)
- Navigate to Site Administration > Plugins > Content bank > Manage content types
- Confirm that the "H5P" content type is enabled
The content bank is your central library for H5P files. Access it from Site Administration > Content bank or from within any course via the navigation menu.
Advantages:
- Part of Moodle core -- no third-party plugin maintenance
- Uses Moodle's content bank for centralized management
- Full gradebook integration with attempt tracking
- Automatically updated with Moodle releases
- Supports content sharing across courses
Limitations:
- Content type library updates depend on Moodle releases
- Fewer customization options compared to mod_hvp
Option 2: mod_hvp (Third-Party Plugin)
For Moodle 4.x sites, mod_hvp is the original H5P plugin developed by Joubel/H5P Group before Moodle added native support. It connects directly to h5p.org to download content type libraries.
How to install it (Moodle 4.x only):
- Download the plugin from moodle.org/plugins/mod_hvp
- Extract to
/mod/hvp/in your Moodle directory - Navigate to Site Administration > Notifications to complete installation
- Go to Site Administration > Plugins > H5P > Settings to configure the hub connection
Advantages (Moodle 4.x):
- Direct access to the latest H5P content types from h5p.org
- More granular display options and behavior settings
- Longer track record with more community resources
Limitations:
- Not compatible with Moodle 5.0 or later
- Third-party plugin requires separate updates and maintenance
- Two H5P systems on one site can create confusion
Which should you choose? Use mod_h5pactivity (Option 1) unless you are on Moodle 4.x and need a specific content type not yet available through Moodle's content bank.
Top H5P Content Types with Use Cases
H5P offers more than 60 content types. The popular types below deliver the most impact for Moodle-based courses.
| # | Content Type | Best for | Graded? |
|---|---|---|---|
| 1 | Interactive Video | Lecture capture with comprehension checks | Yes |
| 2 | Course Presentation | Slide-based micro-lessons with interactive elements | Yes |
| 3 | Branching Scenario | Clinical decisions, customer service, and ethics training | Yes |
| 4 | Drag and Drop | Anatomy labeling, process sequencing, and geography | Yes |
| 5 | Dialog Cards | Vocabulary review, terminology, exam prep | No |
| 6 | Timeline | Historical chronologies, project timelines | No |
| 7 | Question Set | Knowledge checks, practice quizzes | Yes |
| 8 | Fill in the Blanks | Language learning, technical terminology | Yes |
| 9 | Mark the Words | Grammar, reading comprehension, legal/scientific text | Yes |
| 10 | Column | Complete lessons combining multiple content types | Yes |
1. Interactive Video
Overlays quiz questions, pop-up text boxes, links, and other interactions on a video at specific timestamps.
Best use cases: Lecture capture with comprehension checks every 3-5 minutes; training videos where learners must demonstrate understanding before proceeding; case study videos with decision points.
How to use it effectively:
- Add a multiple-choice question every 3-5 minutes to maintain attention.
- Use "Summary" interactions at the end of each major section.
- Enable "Prevent skipping forward" for compliance or certification content.
- Keep the base video under 15 minutes.
Grading: Reports a score based on the percentage of embedded questions answered correctly.
2. Course Presentation
Creates a slide-based presentation with embedded interactive elements on each slide -- like PowerPoint with quizzes and drag-and-drop activities built in.
Best use cases: Replacing static PDF slides; self-paced micro-lessons combining instruction with practice; orientation modules for new students or employees.
How to use it effectively:
- Limit to 15-20 slides.
- Include at least one interactive element every 3-4 slides.
- Use a summary slide at the end to reinforce key takeaways.
- Add speaker notes for instructor reference.
Grading: Score based on embedded interactions. Slides without interactions do not affect the score.
3. Branching Scenario
Creates a choose-your-own-adventure learning experience. Students make decisions at key points, and each decision leads to different content paths with different outcomes.
Best use cases: Clinical decision-making in healthcare education; customer service training; ethics education with dilemma-based discussions; management training for conflict resolution.
How to use it effectively:
- Map the scenario on paper before building it. Draw the full decision tree.
- Limit to 3-4 decision points to keep complexity manageable.
- Provide feedback at each decision point explaining why the choice was good, acceptable, or problematic.
- Include a "retry" path so students can explore different outcomes.
Grading: Assigns a score based on the path taken. You define which paths receive full, partial, or zero credit.
4. Drag and Drop
Students drag labels, images, or text blocks onto designated drop zones on a background image.
Best use cases: Anatomy labeling; process sequencing (drag steps into correct order on a flowchart); geography (drag country names onto a map); circuit design.
How to use it effectively:
- Use a high-quality background image as the canvas.
- Keep the number of draggable elements between 5 and 12.
- Enable "Give one point for the whole task" or per drop zone, depending on whether partial credit makes sense.
- Add text feedback for incorrect placements.
Grading: Points awarded per correct placement or for the complete task.
5. Dialog Cards
Creates a stack of digital flashcards. Students see the front (question or term), click to flip to the back (answer or definition), then self-assess whether they knew it.
Best use cases: Vocabulary and terminology review; medical terminology memorization; foreign language study; key concept review before an exam.
How to use it effectively:
- Keep card sets between 10 and 25 cards.
- Include an image on the front or back when possible -- visual association improves recall.
- Use "Repetition" mode so students cycle through missed cards.
- Group cards by topic or difficulty level.
Grading: Self-assessed -- typically ungraded. Use as a study tool rather than formal assessment.
6. Timeline
Creates an interactive, scrollable timeline with dates, descriptions, images, and media for each event.
Best use cases: Historical chronologies; project timelines; literature timelines (author biographies, literary movements); science timelines (discoveries, inventions).
How to use it effectively:
- Include 8-20 events for a manageable timeline.
- Add images or embedded videos to at least half the events.
- Write event descriptions that explain significance, not just facts.
- Use the "Group" feature to color-code parallel tracks (e.g., political events in blue, cultural in green).
Grading: Not scored. Use as supplementary content.
7. Question Set
Bundles multiple question types (multiple choice, true/false, fill in the blanks, drag the words) into a single quiz-like experience with a progress bar and final score.
Best use cases: Quick knowledge checks at the end of a lesson; practice quizzes before a formal Moodle quiz; study tools students can repeat unlimited times.
How to use it effectively:
- Keep question sets to 5-15 questions.
- Mix question types to maintain engagement.
- Enable "Retry" so students can practice multiple times.
- Add feedback text for both correct and incorrect answers.
- Use randomization to prevent memorization of answer positions.
Grading: Reports a percentage score based on correct answers.
8. Fill in the Blanks
Presents a text passage with missing words. Students type the correct words into the blanks.
Best use cases: Language learning (grammar exercises, vocabulary in context); technical terminology practice; code syntax exercises; legal or medical documentation practice.
How to use it effectively:
- Provide 5-10 blanks per passage.
- Accept alternative correct answers (e.g., both "colour" and "color").
- Enable "Accept minor spelling errors" for non-language courses.
- Add tip text that appears when students struggle.
Grading: One point per correct blank, reported as a percentage.
9. Mark the Words
Displays a text passage where students must click on specific words that match a given criterion.
Best use cases: Grammar exercises (identify all adjectives, find the verbs); reading comprehension (identify key terms); legal document review training; scientific writing (identify hypotheses or conclusions).
How to use it effectively:
- Keep passages to 100-200 words.
- Mark 5-15 target words per passage.
- Write clear instructions about what to identify.
- Enable the "Check" button for immediate feedback.
Grading: Score based on correctly identified words minus penalties for incorrect selections.
10. Column
Arranges multiple H5P content types vertically in a single, scrollable activity. A container that holds other H5P elements.
Best use cases: Building a complete lesson from multiple interactive elements; creating a study guide combining text, video, flashcards, and a quiz; designing a lab or tutorial with instructions followed by exercises.
How to use it effectively:
- Start with instructional text or a video, follow with practice interactions, end with an assessment.
- Limit to 5-8 sub-activities to prevent excessive scrolling.
- Use Column to build standalone micro-lessons completable in 15-20 minutes.
Grading: Aggregates scores from all graded sub-activities within the Column.
Creating Your First H5P Activity: Step by Step
This walkthrough uses the native mod_h5pactivity module and creates an Interactive Video activity.
Step 1: Prepare Your Video
Upload your video to YouTube, Vimeo, or your institutional streaming service. You need the video URL. H5P also supports direct MP4/WebM upload, but streaming delivers better performance.
- Resolution: 720p minimum, 1080p recommended
- Length: Under 15 minutes (ideally 6-9 minutes)
- Format: MP4 (H.264) for direct upload, or streaming URL
Step 2: Create the H5P Content in the Content Bank
- Navigate to your course
- Open the Content Bank from the course navigation menu (or Site Administration > Content Bank)
- Click "Add" and select "Interactive Video"
- The H5P editor opens
Step 3: Add the Video
- In the "Add a video" section, paste your YouTube/Vimeo URL or upload an MP4 file
- Click "Insert" -- the video loads in the editor preview
Step 4: Add Interactions
- Click the "Add interactions" tab above the video timeline
- Drag your video progress bar to the timestamp where you want the first interaction (e.g., 2:30)
- Click the interaction type (e.g., Multiple Choice)
- Fill in the question text and answer options. Check "Correct" next to the right answer(s)
- Add feedback text for correct and incorrect responses
- Configure the display: "Poster" (pauses video, full-screen) or "Button" (clickable icon)
- Repeat for additional timestamps
Recommended interaction intervals:
- 2-3 minutes: Multiple-choice or True/False question
- 5-6 minutes: Fill in the Blanks or short reflection
- End of video: Summary interaction (reviews key points)
Step 5: Configure Behavior Settings
Click the "Behaviour settings" tab and configure the following:
- Prevent skipping forward: Enable for compliance content; disable for review content
- Show solution button: Enable for learning activities; disable for assessments
Step 6: Save and Add to Course
- Click "Save" in the content bank
- Return to your course > Turn on Edit mode > Click "Add an activity or resource"
- Select "H5P" > Click "Select content" > Choose your Interactive Video from the content bank
- Configure grade settings > Click "Save and display" to preview
Grading H5P Activities in the Gradebook
H5P activities integrate with Moodle's gradebook when you use the mod_h5pactivity module.
Setting Up Grades
Edit the H5P activity and configure the Grade section:
- Grading method: Highest attempt (best for practice), Average attempt, First attempt (best for assessments), or Last attempt
- Maximum grade: Set the maximum points (e.g., 100)
- Grade to pass: Set the minimum passing grade (e.g., 60)
- Grade category: Assign to a gradebook category if you use categories
Viewing Attempts and Scores
Navigate to the H5P activity and click "View attempts". You will see a table with student name, attempt number, score (raw and scaled), timestamp, and duration. Click on an individual attempt to see the detailed xAPI statement log showing each interaction result.
How Grades Flow to the Gradebook
- The H5P framework generates xAPI statements for each interaction
- Moodle's H5P module receives and stores these statements
- The module calculates the attempt score based on correct/incorrect responses
- The score is pushed to the gradebook according to your grading method setting
- The gradebook applies aggregation (weighted mean, natural, etc.) to produce category and course totals
Understanding xAPI Statements
xAPI (Experience API, also called Tin Can API) is the standard H5P uses to communicate learning activity data. Every interaction generates an xAPI statement in the format: Actor + Verb + Object + Result.
Example statement from an interactive video:
- Actor: Student Jane Doe
(email: jane@university.edu) - Verb: answered
- Object: Multiple-choice question "What causes oceanic dead zones?"
- Result: Score 1/1, correct: true, duration: 12 seconds
What xAPI Data Tells You
At the activity level: Overall score per attempt; number of attempts; time spent; completion status (completed, incomplete, in-progress).
At the interaction level: Which questions students answer correctly or incorrectly; how long students spend on each question; which answer options students select (revealing common misconceptions); and where students pause, rewind, or skip in interactive videos.
Accessing xAPI Data in Moodle
Activity attempts report: Navigate to the H5P activity and click "View attempts". Each attempt row links to the detailed xAPI log.
Learning Analytics: If Moodle's analytics models are configured, xAPI data feeds into predictive models, including the "students at risk" predictor.
External LRS: xAPI statements can be forwarded to a Learning Record Store (Learning Locker, Watershed, or Yet Analytics) for cross-platform analytics via Moodle's xAPI log store plugin.
Accessibility of H5P Content
H5P content must be accessible to all learners, including those using screen readers, keyboard navigation, or other assistive technologies.
Built-In Accessibility Features
- Keyboard navigation: All content types support Tab, Enter, and Arrow key navigation
- ARIA labels: Interactive elements include ARIA attributes for screen reader compatibility
- Focus indicators: Visible focus rings appear on keyboard-navigable elements
- High contrast support: Content adapts to the user's system contrast settings
- Responsive design: Content reflows for different screen sizes and zoom levels
Accessibility Limitations to Watch For
Drag and Drop: Requires mouse or touch input. A keyboard-accessible list-based fallback exists but differs significantly from the visual version. Always provide an alternative assessment for students who cannot complete drag-and-drop activities.
Image Hotspots: Hotspots are keyboard-accessible via Tab, but students who cannot see the base image may struggle with spatial context. Include a text-based alternative describing the image and listing hotspot information.
Timeline: Scrollable timelines work with keyboard navigation, but horizontal scroll may confuse screen reader users. Provide a simple list alternative.
Accessibility Checklist
Before publishing any H5P activity, verify:
- All images have descriptive alt text (configured in the H5P editor's image settings)
- All videos have captions or transcripts
- Questions use clear, unambiguous language
- Feedback text is substantive -- not just "Correct!" or "Wrong!"
- Color is not the sole means of conveying information (e.g., do not rely only on red/green for correct/incorrect)
- The activity is testable with keyboard-only navigation
- A text-based alternative exists for highly visual content types (Drag and Drop, image hotspots, and timeline)
- Text contrast meets WCAG 2.1 AA standards (4.5:1 ratio for normal text)
Performance Considerations
H5P content loads JavaScript libraries and media assets in the student's browser. On a Moodle site with hundreds of students accessing H5P simultaneously, performance planning matters.
Server-Side Considerations
Content caching: Moodle caches H5P library files after the first load. Subsequent views serve cached assets. Ensure your caching backend (Redis or Memcached) is configured with sufficient memory.
File storage: H5P files are stored in the moodledata directory. A single Interactive Video with a 50 MB video embedded directly creates a 50 MB+ package every student downloads.
Recommendation: Stream video from external platforms (YouTube, Vimeo, Panopto) instead of embedding video files directly in H5P. This reduces package sizes from 50 MB+ to under 1 MB and eliminates server bandwidth costs.
Client-Side Considerations
Complex H5P content (Branching Scenario with video, Column with 8+ sub-activities) consumes significant browser memory. On older devices or low-end tablets, this can cause slow performance or crashes.
- Keep Branching Scenarios under 5 branch levels
- Limit Column activities to 5-8 sub-items
- Test on a budget smartphone or tablet before publishing
- Use Image Hotspots instead of large drag-and-drop activities when possible -- they load faster
Concurrent User Load
When 200 students open the same H5P interactive video simultaneously, each student downloads H5P JavaScript libraries (cached after the first load), streams video from the external platform (no server load if using YouTube/Vimeo), and submits small xAPI statements when completing interactions.
The bottleneck is xAPI statement processing, not content delivery. A well-configured Moodle server with Redis caching handles 200+ concurrent H5P users without performance degradation.
Best Practices: 10 Rules for Effective H5P Content
Start with the learning objective. Ask, "What should students be able to do after this activity?" Then select the H5P type that best assesses or develops that skill.
Keep activities focused. One activity should test one concept. Three question sets with 10 questions each are more effective than one set with 30 questions covering 10 topics.
Write meaningful feedback. "Correct!" teaches nothing. Explain the reasoning -- reinforce the concept in the feedback, not just the result.
Use attempts wisely. Unlimited retries for practice, 1-3 attempts for assessments, and unlimited for competency-based courses, recording only the threshold-meeting score.
Test on mobile devices. Over 40% of Moodle access happens on mobile. An activity that works on a desktop may be unusable on a phone if interactive elements are too small to tap.
Reuse content through the content bank. Build H5P activities once and deploy across multiple courses. Update the source file in the content bank, and all linked courses reflect the change.
Combine content types using the column. Instead of 5 separate H5P activities in a section, combine them into one column activity that guides students through a structured micro-lesson.
Version your content. Before significant changes, download the
.h5pfile as a backup. This gives you a rollback point if the updated version introduces problems.Monitor xAPI data. Check the attempts report weekly. If 80% of students miss the same question, the question is unclear, or the teaching needs reinforcement -- not the students.
Respect cognitive load. Alternate between instructional slides (no interaction) and practice slides (with interaction) at a 2:1 or 3:1 ratio. An interaction on every slide exhausts students.
How MooDIY Supports Your H5P Content
Building interactive content is the creative work. Making sure it loads fast, scales to hundreds of students, and stays available during exam periods is infrastructure work.
H5P-Ready Infrastructure
MooDIY's managed hosting can be scoped for the server resources that H5P demands. Optimized PHP configurations help handle xAPI statement processing without lag. Our server architecture is designed for consistent performance whether a small cohort or a larger class is completing Interactive Videos simultaneously.
Pre-Configured for Interactive Content
MooDIY environments can be provisioned with H5P enabled and ready to use. The content bank is configured, file upload limits can accommodate H5P packages, and caching is tuned for interactive content delivery. You also get access to our curated set of Moodle plugins that complement H5P for a fully interactive learning experience.
Storage That Scales with Your Content
H5P content files, student attempts, and xAPI logs grow over time. MooDIY provides plan-scoped storage allocations and transparent scaling paths so your interactive content library can grow without surprise cleanup work.
Ready to create interactive courses? Start your free MooDIY trial and build your first H5P activity on infrastructure designed for interactive learning.
Related Articles
Expand your interactive content skills:
- Top 10 Moodle Plugins to Enhance Your Learning Site -- Plugins that complement H5P
- Effective Moodle Course Design Guide 2026 -- Where H5P fits in your course structure
- Moodle Quiz and Assessment Guide 2026 -- When to use H5P vs. native Moodle quizzes
- Moodle Gradebook Mastery 2026 -- Configure grades for H5P activities
References
- D2L acquisition of H5P Group -- D2L's 2024 announcement and "over 60 interactive content types" claim.
- H5P content types and applications -- Current content type catalogue and examples.
