ODK allows for the use of various media files (i.e., image, video, audio) in forms either as part of the format of the questionnaires themselves such as image prompts, hints or choices or as part of the data capture system such as taking a photo of the survey location, audio recording of the responses or gathering of a signature for participation in a study.

This tutorial describes how to upload media files to be used as prompts, hints or choices for a form. This tutorial assumes that:

  1. You already know how to create a form ready for ODK using the XLSForm standard and have created one that uses media files as described here.
  2. You have a locally-deployed Formhub server to which you have user privileges. See this guide to show you the step-by-step process of setting up a Formhub server. See this tutorial for initating the local server and signing in with your user details.
  3. You have published your XLSForm onto your local Formhub server. See this tutorial on how to publish XLSForm onto your local Formhub server.

Now it’s time to upload media files to your local Formhub server.

1. Access the webpage for your form

Once you have published a form in your local Formhub server, you will see the name of that form on the ‘Published Forms’ list on the main page of your user account. In the example below, for user validmeasures, there is one published form called Incidence Study v0.03a available.

If you hover your cursor to this name, you will notice that this has a link. Click on this link.


The link will bring you to the webpage of the specified form which in the example below is the webpage for the ‘Incidence Study v0.03a’ form.

On this page, you will be able to see (and edit) the following settings and/or information about the form:

  1. Form Name
  2. Form Description – by default this is blank. You can edit this to put text to describe what this particular form is about and for what purpose or project it is for.
  3. XLSForm – this section allows for downloading the various versions of the form:XLSForm, XForms and JSONForm.

  4. Form Data – this section has a link to the web-based data entry client powered by Enketo, a link to the settings to access the form on a mobile client using ODK Collect. When data has already been previously submitted to this form, links to download the data in various formats will be seen here too.
  5. Source –  You can upload here source documents for your form.
  6. Supporting documents – You can upload here supporting documents for your form.

  7. Rest Services – if you want to build web services based on the data that you are collecting through this form, this is the section to allow these services.
  8. Media – you can upload media files that are associated with this current form. This is the section of the form webpage that we are concerned about for this tutorial.
  9. Mapbox Layer – you can input a Mapbox map name here which will be used to visualise geographic coordinates found in the data of your form.
  10. SMS Support (beta) – for use if you are trying out SMS-based data collection.

As mentioned in point 8 above, for this tutorial, we will focus on the Media section. Click on this section.


2. Upload media files

Once you click on the Media section, you will see the option to ‘Choose Files’ for uploading. Click on ‘Choose Files’ button.


A file explorer dialogue box will pop-out. You should now navigate to the directory in your computer that contains the media files that you want to upload. For this example, we want to upload medai files that would show the various signs and symptoms of common childhood conditions. You can select more than one file at a time.

Click on ‘Open’ once you have finished selecting the media files to upload.

You will now see that there are files waiting to be uploaded as indicated by note beside the ‘Choose Files’ button. Use this opportunity to double-check whether all the files that needed to be uploaded have been selected. Then click on ‘Upload’ once you are ready.


You will now see the filenames of the different media files that you uploaded listed out. This wil indicate that your media uploading has been successful.