Moodle H5P-plugin; Allow embed code from Moodle H5P-plugin content

jarvil's picture


I Would like to see an feature where you could get embed code from Moodle H5P-activity so you could embed the content created in Moodle to other websites.

Allow embed code from Moodle
Issue Status: 
Supporter votes Members of the Supporter Network can vote for feature requests. When the supporter network has generated sufficient funding for the top voted feature request it will normally be implemented and released. More about the H5P Supporter Network
tim's picture

Good idea, thanks jarvil

I love using the interactive video, but currently I have to link to it and open it in a separate page.  We embed videos without our lessons, quizzes, etc... and the ability to track the scores AND have them embedded into other content would be great!

icc's picture

I agree this would be really neat.

I also think this will be very helpful. I would like to mainly embed H5P contents (instead of adding a stand alone activity). 

Urgently needed function!

We are currently evaluating H5P for our large Moodle site but unless we can embed H5P content into our Modle Books / Pages etc it's not going to work for us.  Happy to help development if we can.

falcon's picture

Yes, this is probably the most requested feature for the H5P Moodle plugin, and will get added. How would you like it to be/work? Should H5P not be implemented as an activity? Should we use short codes, add a button to the wysiwyg text editor or something else?

Would it be possible to arrange this so that:

  • H5P activities could be created in a hidden Moodle topic
  • These hidden activities would have the embed code option visible (just like H5P online)
  • Embed code could then be used to embed activities in another, visible topic in the Moodle course
  • Gradebook integration would still work

This would give us the option to create beautiful, dynamic Moodle topics, pages and books and forums, allowing users to interact with learning activities in the same Moodle area where substantial content is being delivered or discussed.

Ilona Van Galen


icc's picture

Thank you for your input. It will be taken into consideration when planning the new feature.

I really hope this can happen. We want to do exactly the same. We want to embed activities into our books but can't do that if we are creating content using the Moodle plugin.

Keep it simple
H5P as activities makes the creation workflow familiar and thus low barrier to my creators / Moodle users - and this is is a prime attraction of H5P - just adding an embed code to the existing Moodle plugin would work for us.  Yes, I understand the issues with visibility, completion tracking and the gradebook but there are workarounds that we already have to use for other activities so that would be nothing new for us.  My users are comfortable doing a bit of simple html editing in Moodle pages / books so we could live without an additional button on the wysiwyg editor.  

Thanks for a great (and nearly perfect) product,


falcon's picture

Ok, so adding a shortcode like [H5P id="someId"] would be ok?

What workaround would you be using for grades and visibility?

A shortcode would work fine for us.  We deliver our teaching material using Moodle Books and embed multimedia resources into the books. The multimedia resources (videos and animations of laboratory techniques) are often used in more than one book and we generally keep these in a separate Moodle course for each scientific discipline.  The books may contain self-test questions but these are formative, i.e. the scores are not recorded.  After studying a book students take a separate summative Quiz.  Our site (eBiolabs) is so large we have to be quite prescriptive: it you want a question to be summative, it needs to go in a separate quiz. This relates to my other feature request - being able to use H5P resources inside Moodle Quizzes, but I know something of the Moodle quiz engine and how much work that would be!  You should be aware that we use our own in-house gradebook so can get around some of the Moodle Gradebook limitations. 

All the best, keep up the good work,


falcon's picture

Ok, thank you for the feedback!

Any progress in this feature? Really looking forward to it ...

EricLange's picture

Our organization is making extensive use of H5P in our learning materials created in Moodle. Although we do sometimes use H5P as a Moodle Activity, we're finding it works very well embedded in Lessons (or Pages, or anywhere that accepts HTML), where we might embed more than one H5P content type, or just have a single H5P content type embedded among other content.

To get the embed code to insert in our Lessons and Pages, we are forced to create our H5P content on the site. While this works, it presents a few issues:

1. If is down (which has happened once since we started using H5P), then we experience outages for those H5P content types while the rest of our material is still accessible.

2. If one of our course creators changes roles or leaves the company, these pieces of content are attached to their personal accounts.

3. Most importantly, we have potential legal and security issues with uploading our intellectual property to a 3rd party. While I trust, it's another issue altogether to convince the lawyers that this is OK.

Our use case of the Embed feature would be to first create the H5P content in a Moodle Activity, which would remain hidden in the course where it's intended to be used. The Embed code would be copied and pasted into that course in a Page or Lesson. If it needed to be edited, anyone with Course Creator or Teacher access could modify the original H5P activity within that course.

I understand the ramifications of being able to embed the content in other courses and potentially creating access issues, but honestly, that's common to any content you might link to from a Moodle course and is handled internally with training and best practices.

Thank you!

This is a goof explanation of our motivation for the need to have the embed button available in the Moodle Plugin.  

Hope to see it soon.

EricLange's picture

Hi, I posted my use case supporting the Moodle H5P plugin "embed" request in here earlier this month, and wasn't sure if I made a mistake submitting it or not. It shows that I made the previous comment, but it's not showing on this page.

tomaj's picture


We manually moderate comments on the forum (to keep them spam free), so it can take a little while before it appears.

- Tom

EricLange's picture

Thank you for the quick reply, and above I see the post I was wondering about :)

Just to add our support/request for this feature.  It would really solve many challenges we have currently.  We mostly use Lessons in our course materials, and it is not possible to build and present H5P contents in a lesson on the Moodle site.

We currently built it in and then get the embed code from there to display in the lesson.  It defeats the object of having the plugin.

Hope we will see the feature soon.


Thanks for great tools.


We, too, would like to create and keep our content in Moodle but be able to embed in books and other resources to promote engagement and self assessment but not always as formally graded activities. These are such great tools and we are really looking forward to promoting them widely at our institution but we've been holding off on putting the plug-in into production until the embed option is available. 

Grateful for all the wonderful work so far. 


Hi all

I've been working lots on embedding H5P content into Moodle - and it can be done. There are a couple of options, including a dedicated Atto plugin. But rather than explaining it all, I will be making a video/presentation outlining how it works.

I'll see if I can make this today :)


BV52's picture

Hi Dan,

Wow we'll looking forward to this. Thanks in advance.


EricLange's picture

Embedding can be done, but the issue is trying to embed from an H5P activity you have created in your Moodle course. There is no option to do this, therefore you have to create the H5P content on the side and then embed it. If you've found a way to get around this I'll be very interested as well.

Just a thought: Could you install an instance of wordpress on the same server that hosts your Moodle? You could install H5P on the wordpress and embed from there. That might address your concerns:

1. If is down (which has happened once since we started using H5P), then we experience outages for those H5P content types while the rest of our material is still accessible.

2. If one of our course creators changes roles or leaves the company, these pieces of content are attached to their personal accounts.

3. Most importantly, we have potential legal and security issues with uploading our intellectual property to a 3rd party. While I trust, it's another issue altogether to convince the lawyers that this is OK.

BV52's picture

Wow a simple but very useful work around. Thanks iainharnish for your suggestion.


dgcruzing's picture

Did a video come up somewhere on this?

Or is it the WordPress workaround?

I have come up against this now too. So far the workaround for me in a lesson is to end the lesson with a link to the H5P question set or activity. While this works and allows for a set of numbered questions sets\Activities, it is still another jump out of the lesson branch as such. 

The embed would be a cleaner way of handling this within a Moodle setup, as it then could be set up in a dummy course set (i.e Library of H5P content made in-house) and then embed over into the main course for usage. 

Bookmarket this thread to come back to. 

As having this ability then will render obsolete (Dear I say it).. the old ugly way of setting a question set up in Moodle.. and gives us this modern clean interface to work with.

Edits: Working for me in the Atto way...

EricLange's picture

That's a nice workaround for those who can do it- but we can't just stand up servers (another LMS) without a lot of red tape. There is a separate infrastructure team who would need to do that, and honestly we don't want another LMS to maintain, and to onboard and maintain the accounts of the 100 or so developers we currently have in Moodle. The best option for us is still to have the functionality contained in the H5P plugin.

Us too, Eric. I simply can't justify the admin load that would come from running Wordpress servers on our system, it's already large and complex as it is!

icc's picture

This has been requested by many and is high up on the wish list. Hopefully, it won't be long till someone adds it to the plugin.

Can you give us some information how long it will take you to give us this option?

Please hurry up. We need this.

fnoks's picture


This is not currently on the H5P roadmap. Honestly, I have no idea when this will be available. Hopefully, someone in the community will start working on it!

EricLange's picture

You said it's not on the roadmap, and I can understand that- but Falcon earlier in this thread said it's maybe the most requested feature.

Since it's already a feature on the native H5P site and on other LMSs, would it be very difficult to add this to the roadmap, with the goal to enable the same Embed functionality within the Moodle plugin? Just enabling the Embed button would solve this for most of the people requesting it. Our organization has had to pass on using H5P until this is solved and we really would like to have used it.

Thank you.

This seems to be an issue for a number of us. Wondering if there is any interest in jointly funding the development of this feature. It seems as though a solution is fairly close at hand and I could make a better case if cost-sharing was a possibility.

Hi all

A developer in the Moodle community shared a method on how to embed H5P into a Moodle course page/resource.

It's a bit of a hack but it does work.

Here's how:

icc's picture

Thank you for sharing.
Hopefully, we'll be able to get more embed feature into the Moodle plugin soon.

rickard.skiold's picture

Is 'embed support for Moodle' still among the list for the next release (as mentioned in the 'November 2017 Status Update')? And is there a guess for when next release will arrive? 

We've been trying to get the current workaround solution described above to work, but haven't yet been able to solve some issues related to that the embedded interactive content gets 'cropped' in some cases. 

icc's picture

Yes, it is done and the only thing left now is to release it. We should be able to get the new version out later today :-)

dgcruzing's picture

Nice, Xmas present for all the Moodler's out there.. well done!!!! 

Is it going to be in the Moodle plug repo or in Github?

icc's picture

1.6 is out now on both Github and Moodle repo.
(Remember if cloning from Github that git submodule must be updated as well)

Hi guys.  I am thrilled to see embed code feature has now made it to the Moodle plugin.  I have run this up on Moodle3.3 and it works well.

..............UNTIL ................

When you copy a course through the standard backup and restore process, this new copy ponts to the H5P activity in the original (parent) course., and NOT to the H5P activity in the copied (child) course.

This causes issues of permissions.  For instance, if you are a student in the child course, but NOT in the parent, you cannot see the H5P activity.  If you are a student in BOTH and complete the activity in the child course, the grade is recorded in the parent course.

thomasmars's picture

Thank you for the feedback. Please see my answer at

rickard.skiold's picture

Will be a lot of really happy H5P:ers in the Totara-community as well, many thanks!

dgcruzing's picture

Just downloaded and installed on Moodle.. 

Working great with a MS-sway as an example.. 

only thing I would say is the embedding code box feels a little cut off.. 

but for the ease, I can live with this :-)


thomasmars's picture

Thank you for the feedback. How are you able to reproduce the embed box in Capture2.png ? That does not look right.

dgcruzing's picture


It could be the coding that is coming out of the iframe code in a SWAY..

As I am dropping it into the H5P iframe activity. So it is a iframe within a H5P iframe container.

so to be expected there is going to be a bit of conflict going on. :-)

I have tested it on a few others and as you can see a standard image slider works well.. 

Just spent the day testing out the iframe code with code from this crew..

Reason being, that if I pop a powerpoint turned in to a pdf into a lesson then I can give a grading for reading it thus the H5P container allows for this. 

The same theory applies to the Sway container in an H5P.. not your norm but works for us.

As what we are getting is a rich experience for our students and clients. 

EricLange's picture

I'm so glad to see this! Thank you, H5P team, for making this a high priority, it really opens up our options. My group of developers will be very happy.

dgcruzing's picture

Hi team, 

Where do you want us to discuss these so we keep it all tidy for you?

Big one for me.. 

Documentation tool........................Export Documents

Stand alone H5P activity working.. 

Embedded.. not working.. loses the page. .

Been working well under nadavkav/moodle-atto_hvp.. 

Code I am using is direct embedding.. 

<iframe src="" width="1375" height="613" frameborder="0" allowfullscreen="allowfullscreen"></iframe><script src="" charset="UTF-8"></script></div>


<iframe src=" width="1375" height="613" frameborder="0" allowfullscreen="allowfullscreen"></script></div>

Both losing the page.. 

but... going back to nadavkav/moodle-atto_hvp.. 

working well (But now that we have introduced your iframe codes we are back to the problem here where the full page shows not just the h5p activity).. 

Example of Nadavka code working. 

<p><iframe src=";isembedded=1" 
class="filter_hvp" style="width:100%;Height:600px;border:1;">
</iframe><script>var filter_hvp =".filter_hvp");filter_hvp.on("load", function (e)
{this._node.height = this._node.contentWindow.document.body.scrollHeight + 'px';});

All good.. expect bugs to be ironed out.. 

Let me know what you want me to do for it.. 

Edits: closed due to fix from Thomas. 

If you are using the adaptable theme, you need to add this to your custom CSS

.hidden .joubel-create-document {display:block;visibility:visible;}