Question Bank: Import Questions
You import questions that already exist as a file, in a test or in a table into the question bank instead of creating them again. The question bank shows the "Import" button to authors, question bank managers and administrators, for example above the table under "My questions".
Import options
Depending on where your questions are, you choose one of three ways in the menu of the "Import" button. Each way adds the questions in the QTI 2.1 format to the question bank.

- ZIP-file from local computer:
If you have questions or a test in the QTI 2.1 format as a ZIP file, upload the file here. - Tests from authoring environment:
The list offers the QTI 2.1 tests that you are allowed to copy. In the row of the test you want, click its title. OpenOlat imports all questions of this test into the question bank and creates a new question with its own ID for each of them. Afterwards, the question in the test and the question in the question bank are independent of each other, see How do the questions get into a test? - QTI 2.1 Excel import via copy&paste:
You enter the questions in a spreadsheet program such as Excel, following the template that the import provides, and paste the rows into the input field. The next section describes the template.
If you start the import in a pool or in a group, OpenOlat also makes the imported questions available there. In doing so, you specify whether other users may edit the questions.
Usage of the file "Template excel import"
If you want to create many questions at once or take over questions from another system, use the Excel import. You enter the questions row by row in a table, copy the rows and paste them into OpenOlat. OpenOlat creates questions in the QTI 2.1 format from them. To do so, first transfer questions from another system into the table.
You get the template in the import itself. In the question bank, you start it under:
Question bank > My question bank > My questions > Import > QTI 2.1 Excel import via copy&paste
In the "Data input" step, the link "Template excel import" is located above the field "Copied columns from Excel (comma separated)". It provides an Excel file with example questions for all ten question types that the Excel import processes, and an example of the metadata of a question. Build your questions according to this pattern.
The test editor offers the same import with the same template when you add questions directly to a test:
Test > Administration > Test editor > Add elements > Import questions from Excel
How to import the questions:
- Download the template via the link "Template excel import" and enter your questions according to its pattern.
- In the table, select the rows of your questions and copy them.
- Paste the rows into the field "Copied columns from Excel (comma separated)". OpenOlat reads the rows tab-separated or comma-separated.
- Click "Next". The "Overview" step lists the recognized questions with question type, title and points.
- Click "Finish".
If OpenOlat cannot process a row, the field names the row number: "Issue with line …".
The template is a table with four columns:
| Column | Content |
|---|---|
| Keyword / Punkte | The keyword of the row, for example "Type", "Title" or "Points". In the rows for answers and gaps, this column holds the points. |
| Value | The value or text of the row. |
| Extra | Additional information for individual question types, for example the gap size for a gap text or the tolerance for a numerical gap text. |
| Erklärung | Explanations of the row, for example whether an entry is optional. |
The template contains examples for the following question types. Before the parentheses is the value you enter in the "Type" row, in the parentheses the name of the question type in OpenOlat. You find more about the question types themselves under Test question types.
- MC (Multiple choice)
- SC (Single choice)
- FIB (Gap FIB text)
- Numerical (Gap FIB numerical)
- Inlinechoice (Gap with dropdown)
- KPRIM (Kprim)
- Essay
- Matrix (Match)
- Drag&drop (Drag and Drop)
- Truefalse (True/false)
In the template, the questions are listed one below the other, separated by an empty row. Each new question starts with the "Type" row. The keywords may also be in German, for example "Typ", "Titel", "Frage" or "Punkte". Upper and lower case do not matter.
The following sections describe the rows for each question type.
Multiple choice
| Type | MC |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text. Simple HTML formatting is allowed. |
| Max answers | Max. number of possible answers that participants may select |
| Min answers | Min. number of possible answers that participants must select |
| Points | Maximum achievable score. The minimum score is 0. |
The answers follow, each in its own row: the points in the first column, the answer text in the second. Answers with more than 0 points count as correct. If participants select an answer with negative points, OpenOlat deducts these points. You choose the number of answers freely.

Single choice
| Type | SC |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text. Simple HTML formatting is allowed. |
| Points | Maximum achievable score. The minimum score is 0. |
The answers follow, each in its own row: the points in the first column, the answer text in the second. The correct answer carries more than 0 points, for example "1", the other answers "0". You choose the number of answers freely.
Gap FIB text
| Type | FIB |
|---|---|
| Title | Title of the question, for example the subject area |
| Points | Maximum achievable score. The minimum score is 0. |
| Text | A text part of the question before, between or after the gaps |
| Points of the gap, e.g. "1" | The solution of the gap. Further correct alternatives follow, separated by ";". The "Extra" column holds the gap size, for example "20". |
Text rows and gap rows alternate, in any number.
Gap FIB numerical
| Type | Numerical |
|---|---|
| Title | Title of the question, for example the subject area |
| Points | Maximum achievable score. The minimum score is 0. |
| Text | A text part of the question, for example the question itself |
| Points of the gap, e.g. "1" | The solution as a number. For a tolerance, enter "solution;lower bound;upper bound" here and "absolute" or "relative" in the "Extra" column. |
Without bounds, only the exact solution counts. With "absolute", the bounds are numbers: "1.41;1.40;1.42" accepts all values between 1.40 and 1.42. With "relative", the bounds are percentages: "20;10;10" accepts all values between 18 and 22.

Gap with dropdown
| Type | Inlinechoice |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question or the first text part of the question |
| Points | Maximum achievable score. The minimum score is 0. |
| Text | A text part of the question before, between or after the gaps |
| Points of the gap, e.g. "1" | The answer options of the dropdown, separated by ";". The "Extra" column holds the solution. |
If another character is to separate the answer options, enter it in the fourth column. The template uses "|" for this, so the explanations for this question type are in the fifth column.

Kprim
| Type | KPRIM |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text |
| Points | Maximum achievable score. The minimum score is 0. |
| + | correct answer |
| - | incorrect answer |
| - | incorrect answer |
| + | correct answer |
A Kprim question has exactly four answers. Correct answers carry a "+" in the first column, incorrect answers a "-". OpenOlat takes over the first four answer rows.
Essay
| Type | ESSAY |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text |
| Points | Maximum achievable score. The minimum score is 0. |
| Min | Minimum number of words of the answer |
| Max | Maximum number of words of the answer |
Match
| Type | MATRIX |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text |
| Points | Maximum achievable score. The minimum score is 0. |
The matrix follows. In its first row, the first column remains empty and the other columns hold the column titles. Each following row starts with the row title, followed by the points for each column. An assignment with more than 0 points counts as correct. An example with three columns and three rows:

Drag and Drop
| Type | Drag&drop |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text |
| Points | Maximum achievable score. The minimum score is 0. |
The following rows are structured like those of the match question: one row with the column titles, then for each row the row title and the points for each column. An example with three columns and three rows:

True/false
| Type | Truefalse |
|---|---|
| Title | Title of the question, for example the subject area |
| Question | The question text |
| Points | Maximum achievable score. The minimum score is 0. |
The template then shows a header row with the columns "Unanswered", "Right" and "Wrong". Each further row starts with a statement, followed by the points in this fixed order:
| Column | Points if participants … |
|---|---|
| Unanswered | do not answer the statement ("Unanswered"). A deduction is also possible. |
| Right | select "Right" |
| Wrong | select "Wrong" |
The answer with more than 0 points counts as correct.

Important
In addition to the listed rows, you can enter optional rows for feedback and metadata, for example "Hint", "Correct solution", "Feedback correct answer", "Topic", "Keywords" or "License". The template shows them in the first gap text example, and they apply to every question type. The "Erklärung" column states for each of these rows whether it applies only in the question bank.
Further information
Mentioned on this page
Creating Tests >
Test editor >
Test question types >
Further reading
Question Bank: Create Questions >
Question bank: Details of a question and metadata >
Question Bank Review Process >
Question Bank: Sharing Options >
How do I proceed when I create a test? >
Import templates >