Question formats: Microsoft Word File Import/Export (Question Format)

Maintained by Picture of Eoin CampbellEoin Campbell
Export questions (including images) in a question bank into a Word file, and also import questions from structured tables in a Word (.docx format) file.
1999 sites
101 fans
Current versions available: 3

Moodle2Word is a plugin that allows quiz questions to be exported from Moodle into a Word file. The Word file can then be used to quickly review large numbers of questions (either online or in print), or to prepare paper tests (where the answers and feedback are hidden).

Moodle2Word also supports importing questions from structured tables in Word directly into the Moodle question bank. The tables support all the question components (stem, answer options, option-specific and general feedback, hints, tags and question meta-data such as penalties grades and other options), as well as embedded images. All the main question types except Numerical and Calculated questions are fully supported. Numerical and Calculated questions are exported, but cannot be imported.

Some OU question types added to core in Moodle 3.0 are also supported: Drag and drop onto image, Drag and drop markers, Drag and drop into text and Select missing words. All-or-Nothing Multiple Choice is also supported. These additional question types all require that custom versions of the questions be installed to replace the defaults, however.

The Cloze question syntax is particularly useful, as it does not require any knowledge of the arcane Moodle syntax; instead, use bold for drop-down menu items, and italic for fill-in text fields. See attached screenshot for an example.

Language support

Exported questions are labelled in the language of the current Moodle user interface, and the spell-check language is also set to the correct language. Similarly, questions can be imported in the same language, not just English. Both left-to-right and right-to-left languages (such as Arabic and Hebrew) are supported.

Equation support (import only)

Equations written using the Microsoft Equation Editor in Word can be imported into Moodle as MathML. This MathML can then be rendered within Moodle using the MathJax plugin, if you are running Moodle 2.7 or later. It is probably possible to configure MathJax on earlier versions of Moodle to support MathML rendering, but I don't know how to do this.

Note that as of version 3.4.3, MathML equations in questions are not exported in a usable way.

Supporting Word templates

Word templates to go with the plugin can be downloaded from the demonstration website, and are available for Word 2007 and 2010 (Windows), and Word 2011 (MacOSX). The Windows templates also support a simple question preview facility, and a facility to upload questions from within Word.

If questions contain images, then you must install the Word template in order to be able to convert the images in exported questions into embedded images in Word, as they are not automatically visible.


The plugin can be installed by a Moodle Administrator using the standard Moodle plugin installation process.


  • Check that your Moodle installation supports XSLT, and ideally HTMLTidy too. Log in as Administrator, go to Site Administration -> Server -> PHP info, and view the PHP configuration. Look for the package details for 'xsl'. If they are not present, then you will need to re-configure PHP and re-start the server.
  • To enable XSLT and HTMLTidy on a Windows Moodle server, open your PHP configuration file (e.g. d:\winmoodle2\server\php\php.ini on Windows) and uncomment the lines containing "extension=php_xsl.dll". and "extension=php_tidy.dll" by removing the semi-colon before them, if present.
  • On Linux platforms, you may need to create a symbolic link from the file , /etc/php5/apache2/mods-available/xsl.ini to , or /etc/php5/apache2/conf.d/20-xsl.ini. Change directory to /etc/php5/apache2/conf.d/, and use the command 'sudo ln -s ../../mods-available/xsl.ini 20-xsl.ini'. Alternatively, create a file /etc/php5/apache2/conf.d/xsl.ini containing the line

Configuration instructions

  1. Go to any course question bank that contains at least 1 question, and choose the Export option.
  2. The File format list should contain the new option 'Microsoft Word table format'. Select this item, and choose any question category containing some questions.
  3. You will be prompted to save or open a Word file. Save it. By default it should have a .doc suffix. If no suffix is provided, you must add it in yourself to ensure Word recognises the file format.
  4. If you see the error message "You need the XSLT library installed in PHP to save this Word file" (xsltunavailable in non-English installations), then your Moodle installation is not configured to support exporting to Word format, and you will need to update it. See this forum thread.
  5. To import questions from a Word file, open the file you just exported, and save it to Word 2010 (.docx) format. Then go to the Question Import form, and you should see a new item in the File format list, 'Microsoft Word table format'. Select this item, choose the Word file you saved, and import it.
  6. If all goes well, your questions in the file should be imported into your course. If not, send me an email at and I will try to help you out. 


  • When exported questions contain images, they are initially stored in the Word file as tabular data. After opening the Word file, you must run a custom Word macro to convert them back into images in the correct locations. You need to install a Word template on your PC to access this macro.
  • The number of questions you can import in a single Word file is limited by the amount of memory allocated for processes on your Moodle server. You will need to experiment to find this limit on your own site.

Using a Word template to create and edit questions

To edit existing questions using Word, first export them into Word. If they contain images, or if you want to create new questions, you should install a custom Word template on your PC to assist you. You can download this template from the test website This template contains commands to create new questions, import questions into Moodle, format questions for printed tests, and convert images in exported questions.


This plugin is part of set Microsoft Word file import/export.


Screenshot #0


Picture of Eoin Campbell
Eoin Campbell (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Cameron Hallowell
    Mon, Aug 19, 2019, 9:46 AM
    Eoin, is there any way to change the default numbering from "A" to "0" for multiple choice questions?
  • Picture of Eoin Campbell
    Tue, Aug 20, 2019, 3:27 PM
    You can use the "Number the choices?" field in the table heading to define the numbering.
    A = uppercase alphabetic
    a = lowercase alphabetic
    i = lowercase Roman
    I (capital letter i) = uppercase Roman
    0 (zero) = Unnumbered
  • Picture of 松林 唐
    Wed, Aug 21, 2019, 12:13 AM
    Hi Eoin,
    I get errors when I import .docx questions. It seems like Jame said. "Error writing to database".
    This error comes after I upgrade moodle to 3.7 from 3.6. And I upgrade PHP from 7.0 to 7.2 .
    In PHP info of the sever , xsl is enable. Those .docx questions files which I imported into bank sveral weeks ago can't import again! I can't find wrong . So I 'm anxious. Can you help me ?
  • Picture of Eoin Campbell
    Wed, Aug 21, 2019, 11:41 PM
    This seems to be an error caused by modifying Moodle PHP code, not an import error
  • Picture of josue avendaño
    Fri, Aug 23, 2019, 6:48 AM
    Hello Eoin, I have an issue with plugin, i cna upload all the questions, but I have a problem whem try to charge a question who contains a mathematic equation (generated with Microsoft Word Equation), not upload all the information inside this equation area, example: elimate parenthesis, square parentheses and fractions are not upload and are replace with empty space.
  • Picture of Eoin Campbell
    Fri, Aug 23, 2019, 1:58 PM
    Send me on a Word file with the problem and I’ll take a look. Have you configured your MathJax filter correctly? That is the most likely issue.
  • Picture of 景東 王
    Wed, Sep 11, 2019, 7:25 AM
    I need a word template of traditional chinese,and can't find at,could you help me?Thank you very much.
  • Picture of Eoin Campbell
    Wed, Sep 11, 2019, 3:28 PM
    Hi there, I’ll try and prepare one for you at the weekend. In the meantime, if you export some questions from Moodle into Word format, with the Chinese language set then that will give you a good starting point for creating questions.
  • Picture of 景東 王
    Tue, Sep 17, 2019, 8:19 AM
    Hi Eoin,thank you for your suggestion,and I had exported some question,then create new questions,and import successfully
  • Picture of Evgeny Alentiev
    Fri, Oct 11, 2019, 3:17 PM
    Just want to confirm that with Moodle 3.7.2 imoprt fails reporting "Error writing to database" (dmlwriteexception)
    Considering downgrade to version 3.6 sad
  • Picture of Eoin Campbell
    Fri, Oct 11, 2019, 8:57 PM
    Hi Evgeny, I believe the most likely reason for this is that there are characters in the Word file that are not valid Unicode. Some mathematical characters are typically the cause.
  • Picture of Evgeny Alentiev
    Fri, Oct 11, 2019, 9:38 PM
    Hi, Eoin. Not in my case, I believe - because I just tried to import a "Test Boolean Question in Word format" from the site,
    and it also failed
  • Picture of Eoin Campbell
    Sat, Oct 12, 2019, 5:33 AM
    Hi Evgeny, I'm still suspicious that the underlying cause may be a character encoding issue. has information on ensuring your database fully supports 4-byte UTF. I've checked Moodle 3.7.2 on a Windows server with MariaDB and it works fine.
  • Picture of Rob Frank
    Sat, Dec 7, 2019, 2:23 AM
    Can you use audio or video in the questions with this template? If so, how? Thanks.
  • Picture of Eoin Campbell
    Sat, Dec 7, 2019, 5:34 PM
    You can include a link to a YouTube video (e.g. ) in the question stem, and Moodle will use its text filter feature to automatically convert it to an embedded YouTube video. You might be able to get other video platforms to work too.
1 2 3 4 5 6 7 8 9 10
Please login to post comments