The complete workflow
Getting started
- Prepare a CSV or TXT file.Use a recognizable question, answer, and answer-key structure.
- Open UniQuiz.Select Start converting from the homepage.
- Select your file.Your browser reads it locally; question content is not intentionally uploaded.
- Acknowledge the Terms and Privacy Notice.This is required for each new conversion before the file is analysed.
- Review detection.Check question counts, answer types, warnings, and any requested CSV column mapping.
- Choose options.Configure shuffle, names, source-question-number removal, capitalization, and Moodle answer choice labels.
- Review readiness.Check the whole-bank Ready, Warning, and Error summary and any actionable question diagnostics.
- Generate XML.UniQuiz builds and validates the Moodle XML in your browser when no blocking error remains.
- Import into Moodle.Download the XML and import it manually into the relevant Moodle question bank.
Spreadsheet-friendly input
CSV format
Basic CSV remains a small, unchanged subset for straightforward Multiple Choice authoring. Advanced CSV adds Moodle metadata and supports Multiple Choice, True/False, Short Answer, Numerical, Essay and Description rows. Both use the same header-based UniQuiz CSV parser and canonical question model.
You do not need to keep every Advanced CSV column. UniQuiz identifies supported fields by header name, optional columns may be omitted, and supported columns may appear in any order.
Basic CSV
question_text,answer_1,answer_2,answer_3,answer_4,correct
What is the capital of Hungary?,Vienna,Budapest,Prague,Warsaw,B
Select the prime numbers,2,3,4,6,"A,B"
Basic CSV scoring uses the correct answer-key column: one label such as B creates a single-answer question, while multiple labels such as A;B create a multiple-answer question. The aliases Correct answer, Answer key, and Key are also supported for this Basic field.
Advanced CSV
Advanced CSV uses the type field, type-specific answer fields where applicable, plus optional Moodle metadata and feedback. Different supported types may appear in different rows. Use the canonical lowercase snake_case headers below. Optional columns can be left out, and supported columns can appear in any order.
multichoice— Multiple Choicetruefalse— native True/Falseshortanswer— one or more accepted text answersnumerical— numeric answer with optional toleranceessay— manually graded written responsedescription— informational text displayed in the quiz
Supported Advanced CSV headers
| Header | Required? | Values, purpose, and fallback |
|---|---|---|
type | Optional | multichoice, truefalse, shortanswer, numerical, essay, or description. Blank retains the established multichoice default. |
question_text | Required | The question shown to learners. Each row needs non-empty text. Confirmed aliases: Question, QuestionText, and Prompt. |
question_name | Optional | An explicit Moodle question-bank name. Blank or omitted uses UniQuiz’s Generate question names setting. |
category | Optional | A per-question Moodle category. Blank or omitted uses the converter’s Question category; if both are blank, no category marker is added. |
default_mark | Optional | A finite number greater than zero. Blank or omitted defaults to 1. |
shuffle_answers | Optional | Controls answer shuffling for this question. Accepts true, false, 1, or 0. See the precedence rule below. |
answer_numbering | Optional | Moodle answer labels: abc, ABCD, 123, or none. Blank or omitted uses the converter setting. |
single | Optional | Accepts true, false, 1, or 0. Blank or omitted infers single/multiple mode from positive fractions. true cannot be combined with multiple positive answers. |
general_feedback | Optional | Question-level feedback shown by Moodle. Blank or omitted adds no general feedback text. |
correct_feedback | Optional | Combined feedback for a fully correct response. |
partially_correct_feedback | Optional | Combined feedback for a partially correct response. |
incorrect_feedback | Optional | Combined feedback for an incorrect response. |
answer_N | Type-specific | Answer text, replacing N with 1, 2, and so on. Multiple Choice and native True/False need two; Short Answer and Numerical need at least one; Essay and Description need none. Blank slots are unused. Groups beyond six are supported. |
answer_N_fraction | Type-specific | A number from -100 through 100. Multiple Choice positive fractions must total 100. Short Answer and Numerical fractions default to 100 when omitted and may define multiple accepted values. |
answer_N_tolerance | Numerical only | Zero or a non-negative decimal tolerance. Blank defaults to 0. Units, formulas, datasets, and calculated questions are not supported. |
answer_N_feedback | Optional | Feedback attached to answer N. It cannot be supplied without matching answer_N text. |
case_sensitive | Short Answer only | true, false, 1, or 0. Blank defaults to Moodle's normal case-insensitive behaviour. |
tags | Optional | One cell containing semicolon-separated tags, for example geography;capitals. Blank or omitted adds no tags. |
shuffle_answers precedence
True — answers are shuffled, regardless of the global Shuffle answers setting.
False — answers are not shuffled, regardless of the global Shuffle answers setting.
Blank or omitted — uses the global Shuffle answers setting selected in UniQuiz.
- Advanced scoring uses numeric
answer_N_fractionvalues. Do not mix explicit fractions and the Basiccorrectfield in one row. - Header matching trims whitespace, ignores case, and treats spaces or hyphens as underscores.
- Unknown columns are ignored with a warning; they are never guessed. Duplicate logical headers are blocking errors.
- Quoted commas, escaped quotes, multiline quoted fields, UTF-8, and UTF-8 BOM are supported.
- A separate two-column
question,answerfile may use onlytrueorfalse; UniQuiz expands each row into two Moodle multichoice options. - When enabled, Remove question numbering strips clearly detected prefixes such as
1.,51),Q101., orQuestion 20:. Decimal values, quantities, years, durations, measurements, and digit-leading identifiers remain unchanged.
Download Basic CSV ↓ Download Advanced CSV ↓ Download six-type example ↓
Plain-text input
TXT format
TXT is flexible, but each question still needs recognizable answer labels and an ANSWER: line.
What is the capital of Hungary?
A. Vienna
B. Budapest
C. Prague
D. Warsaw
ANSWER: B
Which are prime numbers?
A) 2
B) 3
C) 4
D) 6
ANSWER: A,B
Answer labels may use A., A), or A:. Common multiple-answer forms include A,B, A;B, A + B, and A & B. If a block is genuinely ambiguous, UniQuiz reports an actionable error.
Repair Moodle’s plain-text import format
AIKEN Fixer
AIKEN is Moodle’s simple plain-text format for single-answer multiple-choice questions. A valid question and every answer occupy one line, each option begins with an uppercase letter plus . or ) and a space, and the final line names exactly one correct answer.
What is the capital of Hungary?
A. Vienna
B. Budapest
ANSWER: B
Formatting matters because Moodle identifies questions, choices, and answer keys from their line prefixes. Open AIKEN Fixer to upload or paste a UTF-8 AIKEN file and download corrected AIKEN text—not Moodle XML.
Safe fixes and review changes
Safe fixes normalize structural spacing, tabs, uppercase labels, ANSWER: B, repeated blank lines, and supported option punctuation. Multiline questions, multiline answers, and question-number prefixes require explicit review because joining or removing text could affect meaning.
Limits and content protection
- Standard Moodle AIKEN supports one correct answer only. Constructs such as
ANSWER: A,Care blocked. - Use one line for each question and answer. Approve a proposed multiline join only after checking the wording.
- UTF-8 and non-Latin text are preserved. A UTF-8 BOM can be removed safely.
- The fixer changes structure only. It does not rewrite grammar, spelling, facts, formulas, HTML-like text, punctuation inside educational wording, or translate content.
- Processing stays in browser memory. No AI, API, database, analytics, local storage, or direct Moodle connection is used.
Automatic or explicit Moodle grading
Multiple correct answers
In Basic CSV or structured TXT, list every correct label on the answer-key line:
ANSWER: A,CUniQuiz calculates equal positive Moodle grading fractions automatically. In Advanced CSV, provide explicit fractions such as 50, 50, 0, and -25 for finer grading. Positive fractions must total 100. Single- and multiple-answer questions may appear in the same file.
Whole-bank readiness
Preview diagnostics
UniQuiz validates every detected question before deciding whether Moodle XML can be generated, including questions hidden by search, filtering, or pagination. Each question receives exactly one state: Ready, Warning, or Error. A question with several diagnostics is counted once at its highest severity.
Search runs across the complete bank using case-insensitive Unicode substring matching over source question number, question name/text, answers, category, tags, and feedback. All, Warnings, and Errors intersect with the current search and preserve source order. Filter badges remain whole-bank counts; a separate result message describes the current match set. Clear Search preserves the active filter, while Show all questions switches the filter to All and preserves the query.
The result set is paginated at 20 questions by default; choose 50 or 100 when useful. Search, filter, and page-size changes return to page 1. Large-bank preview work remains limited to the visible page. Cards begin compact and create their read-only answers, scoring fractions, feedback, metadata, and diagnostics when expanded; collapsing removes those details again. Expansion resets when you navigate to another page.
- Ready means no issue needs review.
- Warning means the question remains exportable, but a deterministic condition such as duplicate answer text deserves review.
- Error means the full question bank cannot safely be exported until the source question is fixed.
Import/file warnings, such as an ignored unknown header, remain separate from question counts. Blocking file errors and any question error disable Generate Moodle XML even if the Error is hidden by search or the Warnings filter. UniQuiz never silently drops invalid questions. Card labels use the original canonical source question number, not the visible result position. Search terms, filters, validation, and diagnostic data stay locally in browser memory and are not persisted.
Diagnostics now explain what failed, identify the CSV row/column, question, field, answer, or TXT source line when available, and describe the smallest useful fix. Malformed CSV quoting and uncertain CSV mappings appear as actionable import guidance. These details do not change successful conversion, Ready/Warning/Error semantics, or export blocking.
Converter options
Settings explained
Shuffle answers
Sets the default for exported Multiple Choice questions and is on by default. Advanced CSV Multiple Choice rows with an explicit shuffle_answers value keep that per-question value; a blank or omitted field uses this global setting.
Generate question names
By default, UniQuiz creates a question-bank name from the first 50 Unicode characters of the final question text.
Remove question numbering
Enabled by default. Safely removes clearly detected source prefixes before preview, automatic naming, and XML. Turn it off to preserve prefixes exactly. Explicit Advanced CSV question names are never changed.
Capitalize answer text
Changes only the first character of Multiple Choice and True/False answer text while leaving the remainder unchanged. It is disabled by default and does not alter Short Answer or Numerical accepted values.
budapest → Budapest
Answer choice labels
Controls how Moodle labels Multiple Choice answers. It does not affect numbering embedded in question text.
International question banks
Unicode and non-Latin characters
UniQuiz uses UTF-8 throughout parsing, preview, naming, and XML generation. It supports text in Hungarian, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean, Vietnamese, and other Unicode writing systems.
Save input files as UTF-8. If the browser cannot safely decode a file as UTF-8, UniQuiz stops and asks you to resave it instead of corrupting the text.
After conversion
Importing into Moodle
- Open the relevant question bank in Moodle.
- Choose the question-bank Import action.
- Select Moodle XML format.
- Upload the XML file generated by UniQuiz.
- Review Moodle’s import result before using the questions in production.
UniQuiz does not connect to Moodle or upload questions directly. Exact navigation may vary by Moodle version, theme, permissions, and organization.
Common questions
Frequently asked questions
Is UniQuiz a Moodle plugin?
No. UniQuiz is an independent browser-based converter that creates Moodle-compatible XML files.
Does UniQuiz upload my questions?
Question files are processed locally in your browser. Question and answer content is not intentionally uploaded to the UniQuiz server or sent to an external conversion API.
Does UniQuiz store my question bank?
No. The MVP has no question-bank database and no conversion history. Current conversion data remains in browser memory and clears when the page is reloaded or closed.
Do I need an account?
No. UniQuiz has no user accounts.
What file types are supported?
UTF-8 CSV and TXT files are supported in the current MVP.
What Moodle question types does UniQuiz support?
UniQuiz supports six question types: Multiple Choice, True/False, Short Answer, Numerical, Essay and Description. Advanced CSV is the primary path for the additional question types. Basic CSV and AIKEN retain their existing supported formats.
Does UniQuiz support every Moodle question type?
No. UniQuiz focuses on common types that can be converted reliably and predictably. More complex Moodle types such as CLOZE, calculated, matching, ordering, drag-and-drop, and image-based questions are not currently supported.
Does Numerical support units and calculated formulas?
No. Numerical support is intentionally simple: numeric answers and non-negative tolerances only. Calculated questions, datasets, formulas, wildcards, and advanced unit handling are not supported.
Do I have to use the CSV template?
No. The template is recommended, but UniQuiz attempts flexible heading detection and shows column mapping when it cannot confidently recognize a CSV.
Can one file contain both single-answer and multiple-answer questions?
Yes. UniQuiz detects the answer type for each question independently.
Can I mix question types in one CSV?
Yes. Advanced CSV can contain different supported question types. Set the type for each row using the type column. Each row is validated according to its own type, so Essay and Description rows do not need answer fields.
How do I specify more than one correct answer?
List the correct labels together, for example A,B or A;B. TXT also accepts unambiguous forms such as A + B and A & B.
Can I create True/False questions?
Yes. The established question,answer shorthand remains unchanged and exports a semantically equivalent two-option Moodle multichoice question. Advanced CSV can also use type=truefalse with explicit true and false answers to export Moodle's native True/False type.
What does Shuffle answers do?
It sets the default answer-shuffling value and is enabled by default. In Advanced CSV, an explicit shuffle_answers value overrides this global setting for that question; a blank or omitted value falls back to it.
How are question names generated?
By default, the first 50 Unicode-safe characters of the question text become its question-bank name. Empty text falls back to a numbered name.
What does Capitalize answers do?
It changes only the first character of each answer to uppercase and leaves the remainder unchanged. It is disabled by default.
Does UniQuiz support non-Latin characters?
Yes. UniQuiz uses UTF-8 and tests representative Hungarian, Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean, and Vietnamese text.
Why did UniQuiz ask me to map columns?
The CSV headings were not confidently recognizable. Mapping lets you identify question, answer, and correct-answer columns without UniQuiz silently guessing.
Why won’t UniQuiz generate my XML?
A blocking validation error must be fixed first—for example, a missing question, fewer than two answers, no correct answer, or an answer key that points to a nonexistent option.
Do warnings prevent Moodle XML export?
No. Warnings identify deterministic conditions worth reviewing, but they remain exportable. Errors block the full question bank. The summary counts questions, not the number of individual messages.
Can UniQuiz import questions directly into Moodle?
No. UniQuiz generates an XML file that you import manually into Moodle.
Is UniQuiz affiliated with Moodle?
No. UniQuiz is independent and is not affiliated with or endorsed by Moodle or Moodle HQ.
Is the generated XML guaranteed to be perfect?
No converter can promise that every source file or Moodle configuration will produce a perfect result. UniQuiz reparses and validates its XML, but you should review questions and test the import before production use.
Which Moodle versions are supported?
Tested with Moodle 4.5.13 and Moodle 5.2.2, including real Moodle imports and round-trip verification. This does not mean that every Moodle 4.x or 5.x version and configuration has been explicitly tested; verify the generated XML in your supported environment.
