H5P Guides

Drag and Drop Tutorial

The Drag and drop content type allows learners to drag a piece of text or an image and drop it on one or more corresponding dropzones. 

In this tutorial you will learn:

  • When to use Drag and drop
  • How to create a Drag and drop
Not using H5P yet?
Click the "Get started" button to explore all of the possible ways to use H5P!

Video tutorial

The below video summarizes what you may do with Drag and Drop and how:

Textual Tutorial - Example

Here's the Drag and drop we'll create in this tutorial:

When to use Drag and drop

Drag and drop enables the learner to associate two or more elements and to make logical connections in a visual way. Here are some examples:

  • Group elements that belong together or have something in common
  • Match an object with another object
  • Put elements in the correct order
  • Place elements at a correct position

Drag and drop can be used to test the learner's knowledge on a given topic as a variation to Multichoice questions. Drag and drop can be used stand-alone or they can be included in Question setsInteractive Videos or Presentations. Either way, they are created in the same way. 

Step 1: Topic

Let's say you have a text about Strawberries that you want to create a Drag and drop question about. The example text below is pasted from Wiktionary:


The juicy, usually red, edible fruit of certain plants of the genus Fragaria.

Step 2: Create Drag and drop question

Select the New content option and choose Drag and Drop from the list of Content types: 

Step 3: Drag and drop question editor

The Drag and drop question editor should now appear. The top part of the editor looks like this:

We'll focus on creating the Drag and drop question content in this tutorial. The content creation happens in the top part of the editor, so we'll focus on this part here.

There are two steps in creating a Drag and drop question: Settings and Task. You can press the Settings and Task tabs at the top of the editor at any time to navigate between the views.

Step 4: Settings

Settings deals with general settings such as background image and size. 

We'll add this background image:

The picture was downloaded from Wikimedia and is licensed with Creative Commons Attribution Share Alike

Press the  button to add a background image. Browse to where you downloaded the strawberry image above and select it.

H5P 1.1 only: You can add license information for the background image by pressing the Edit copyright button:

The Year(s) field is not relevant in this context so we'll leave this blank.

Now that we've added a background image, I can define the size of the Drag and drop question.  Since the image has a width of 800 px and a height of 532 px, I'll use this size for the task.

The Drag and drop question will be scaled to the maximum width of the page where it is placed, after saving. The Size defines the width and height of the editor as well as the aspect ratio of the Drag and drop question, rather than the actual size in pixels when it is viewed. 

Since we want learners to be able to try to solve the Drag and drop question multiple times, as opposed to only have one go, we'll check the Enable "Retry" option.

The Give one point for the whole task option is more relevant when we add Drag and drop question to Question setsInteractive Videos or Presentations. This option controls the score the learner gets for solving the Drag and Drop question when it is placed in a sequence of multiple tasks. Since we are creating a stand-alone Drag and drop question, it doesn't matter whether we'll leave this option checked or not. 

Step 5: Task

Press the Task tab in the top right half of the editor to start creating the task itself. 

You'll see that the background image is displayed with the size defined in the Settings tab. 

We'll create a Drag and drop question where the user tries to associate the strawberry with its corresponding genus name. According to Wikipedia, a genus is a taxonomic rank used in the biological classification of living and fossil organisms.

From the example text above, we know that the strawberry belongs to the Fragaria genus. Other examples of berry genuses are Rubus (e.g. Raspberries) and Vaccinnium (e.g. Blueberries). We'll use these last two examples as false alternatives. 

You will see a toolbar above the background image. 

The toolbar allows you to insert:

and Images

Dropzones are areas on which Text and Image draggable elements can be dropped.

Step 6: Dropzone

We start off by adding a Dropzone over the strawberry shown in the background image. Press the Dropzone button in the toolbar, drag it onto the background image and drop it somewhere above the strawberry.

Dropzone options appear when you drop it. We add the Label Fragaria, which is the name of the genus the Strawberry belongs to. Set the opacity to 50 to make it semi-transparent.

You will have something like this:

Press Done.  

You will now see a white dropzone placed over the background image. Move and resize the dropzone so that it is placed roughly over the Strawberry in the background image. You move the dropzone by pressing and dragging it to where you want it placed. You resize the dropzone by pressing the lower right corner of the dropzone and dragging up/down or left/right to scale the dropzone to the right proportions. 

Double-press the dropzone to edit it at any time.

You should now have something like this:

Step 7: Add text 

In this tutorial we'll add three Text draggable elements; one correct and two incorrect. Images can be used as draggable elements in the same way as Text

Press the Text button in the toolbar and drag it onto the background image. You can place it to the right of the strawberry. Text options appear when you drop it.

In the Label field, type in Vaccinium. Under Select drop zones, check the Fragaria checkbox. We know this is an incorrect match, however, we want the learner to be able to drop the Vaccinium object on the Fragaria dropzone. If this option was unchecked, the learner would not have been allowed to drop the object on the dropzone. This is more relevant in cases where you have more than one dropzone. 

Leave the opacity to 100 and press Done. You will now see the Vaccinium draggable object where you placed it.

Move and resize the draggable object as you please. You move it around by pressing on it and then drag it to where you want it. You resize by pressing in the lower right corner of the object and then pull in any direction to scale. 

Add two more Text draggable elements by following the exact same procedure as above. However, label these elements Fragaria and Rubus respectively. Place them in a neat alignment to the right of the Strawberry. 

Double-press the draggable object to edit it at any time.

Hopefully, you will now have something like this:

Step 8: Define the correct match

In order to define which match between dropzone and draggable elements is correct, you double-press on the dropzone. This will bring up the same dropzone options as in Step 5. 

Since you have defined an association between the three draggable elements and the Fragaria dropzone in the previous step, you will now see a Select correct elements option. Check the Text: Fragaria checkbox to define this draggable object as the correct match. 

Now, set the opacity to 0 (zero) and press Done.

Multiple correct elements can be placed on a dropzone. 

Step 9: Finishing up

We are now more or less finished. We might want to add an instructional text such as: Which genus does the Strawberry belong to? Drop the correct genus name on the Strawberry. 

This is done by adding a Text element and type in our instructions in the Label field.

As instructional text should not be a draggable element, we do not select a corresponding dropzone.

Place the instructional text in the top right corner and resize it as you please. 

You should now have something like this:

Save the node/article to view your finished Drag and drop question. 
You should now have the same result as the example.  
Feel free to leave any comments or suggestions on how to improve this tutorial.