DOCX + PDF → QTI 2.1 converter
DOCX is about 75% automated. Clean Level 1 PDFs now have beta support; difficult PDFs are clearly flagged before any partial conversion.
Runs entirely in your browser — no server, no document uploads. Supports English, Chinese and Tamil fonts.
A private, browser-only transformation. No document is uploaded.
Both paths create an editable QTI review. Use Word when you have the original document.
Best for editable source papers. Word preserves question text, images, numbering and mark-scheme matching most reliably.
Review tables, equations and unusual layouts before export. Structured papers may need question boundaries adjusted.
The converter checks each PDF locally and explains what can be edited. Higher levels preserve more original-page imagery and require more review.
Click any stem or option to edit · Images stay unchanged · Export when ready
Tip: If your document mixes questions and answers in the same file, the QTI zip may fail to import into SLS or produce unexpected items. For best results, upload the question paper only and supply a separate mark scheme .docx as the second file.
"Read the QTI ZIP in this folder, generate a concise model answer for each essay question stem,
and save an updated ZIP with the answers injected into the <correctResponse> fields."
Ready-to-import QTI packages. Upload directly to SLS.
| Subject & level | Contributor | Size | Download |
|---|
Download counts: per-resource tracking begins with this catalogue release; historical counts are unavailable. Counts appear when the live anonymous activity service is available.
Every year, Singapore teachers invest enormous effort crafting high-quality examination papers in Microsoft Word — carefully worded MCQ stems, detailed mark schemes, physics diagrams painstakingly drawn or embedded. When it comes time to put these questions onto the national Student Learning Space (SLS) platform, teachers face a second, entirely manual job: re-typing every question, re-uploading every image, and re-entering every correct answer — one by one — into the SLS authoring interface.
For a 30-question Paper 1 alone, this can take two to three hours. Multiply that across a department sharing five or six papers per year, and a meaningful slice of teacher time disappears into administrative reformatting rather than pedagogy.
SLS supports the international QTI 2.1 (Question & Test Interoperability) standard for bulk question import. A QTI package is simply a ZIP file containing structured XML — a machine-readable description of every question, its options, its correct answer, and its associated images. If we could automatically translate a Word document into a valid QTI package, teachers could go from a finished exam paper to a fully loaded SLS quiz in minutes.
Low Jun Hua built the first Python prototype as a Flask web app. The approach: unzip the .docx file (Word documents are ZIP archives internally), parse the XML, detect question numbers, classify MCQ versus structured responses, extract embedded images, and write out conformant QTI XML. The converter was then extended, hardened, and re-implemented as a fully in-browser tool — no server, no sign-in, no file upload to a third party. Everything runs locally in the teacher's own browser using JavaScript and the JSZip library.
.docx and correct answers are injected into every QTI item's correctResponse field.<simpleChoice> elements.assessment_test.xml.The EdTech Masterplan 2030 sets out a vision of "Technology-transformed learning, to prepare students for a technology-transformed world." It organises its outcomes around four pillars — Students, Teachers, Schools, and System — and calls for teachers to become "technologically-adept, collaborative learning designers" who are pedagogically proficient, data-literate, and continuously experimenting with technology. Its first strategic thrust is to "empower students' learning through greater customisation and personalisation with EdTech." This converter directly supports those goals:
correctResponse, item identifiers, scoring), building the data literacy the masterplan identifies as essential for the modern teacher.
moe.edu.sg domain, making it accessible from Whole-of-Government (WOG) school devices without installation or special permissions — supporting the masterplan's goal of digitally-equipped learning environments.
Word documents are far messier than they appear. The same visual layout — a question number followed by four labelled options — can be represented in dozens of different XML structures depending on the Word version, the template used, and the author's habits. Some papers put every question in a table; others mix paragraphs and tables; some use A. B. C. D. as paragraph text, others embed them in nested table cells, others use a transposed grid where A/B/C/D are column headers and the options are images in the rows below.
The most important engineering decision was to never throw away ambiguous content. Instead of silently dropping unknown structures, the converter surfaces them in the Review & Edit panel so the teacher can make the final call. A question that cannot be auto-classified as MCQ shows up as Essay — one click on the badge toggles it to MCQ and reveals the option fields.
Running entirely in the browser was a deliberate choice for privacy and accessibility. Teachers' exam papers — often confidential before sitting — never leave their device. There is no account, no quota, no subscription. The tool works offline once the page is loaded.
The current tool handles Physics prelim papers well. Future directions include better support for mathematical notation (MathML inside QTI), multi-part structured questions with sub-question scoring, and a question-bank view that lets teachers search and reuse individual items across papers. Contributions and feedback from the Singapore teacher community are very welcome via the GitHub repository.
This tool is free and open-source. It was built by Singapore physics educators, for Singapore educators. If it saves your department even one afternoon a year, it has done its job.
Common questions from teachers using this converter with SLS.
No document is uploaded to the converter server. When you choose a
.docx or .pdf file, your browser reads it directly from your device. Parsing the
document, extracting or rendering its images, reviewing the questions, and creating the QTI ZIP all
happen locally in your browser's memory. The Word file, its filename, question text,
answers, and images are not sent to or retained by this website.
The page may send small anonymous activity events so teachers can see how widely the tool is being used. These events contain only an action label (such as page visit, document selected, or ZIP exported), a random anonymous session identifier, and broad country/time-zone information. They never contain document contents or filenames. Browser “Do Not Track” disables this activity reporting.
Good practice: use the official converter URL, protect files downloaded to your device, and follow your school's rules for sensitive assessment material. If required by your organisation, use practice or anonymised questions.
Browser-only document processing No document retained by the website
Yes, as a browser-based beta with three clearly different support levels. Clean, text-based PDFs can be converted into editable question candidates. Complex and image-only PDFs receive weaker support and cannot continue until you accept an explicit warning about what may be incomplete.
How the converter classifies PDFs:
Quick check: try selecting and copying one complete question from the PDF. If you cannot select the words, it is probably a Level 3 scan. Prefer the original editable Word file whenever available, and always compare the generated items with the source PDF before exporting the QTI ZIP.
PDF Beta: Levels 1–3 Analysis and conversion stay in your browser
This is a fundamental limitation of the QTI 2.1 standard, not specific to this converter. QTI does not have a native multipart question format. Every item in a QTI package must be a self-contained, standalone question.
As a result, each part of a multipart question is exported as its own separate QTI item. To keep things coherent, the shared stimulus (the common passage or scenario) and the part label (e.g. "Part (a)") are repeated in each item's prompt — the same approach used by other QTI converters such as GetMarked.
What this means in SLS:
QTI 2.1 constraint Workaround: reorganise in SLS after import
For MCQ questions, correct answers are included in the QTI package
as <correctResponse> elements and are successfully ingested by SLS
during import — no additional setup is needed for MCQ.
For essay / structured questions, SLS currently does not ingest answer data from QTI files during import, even when that data is present in the package. This is a platform-side limitation of SLS, not a problem with the converter. The same behaviour has been confirmed by other QTI converters (including GetMarked).
What this means in practice:
The converter embeds suggested answer text in the QTI XML for completeness, but SLS will not display it until MOE adds support for ingesting essay answer data from QTI.
SLS platform limitation Workaround: add answers manually in SLS
Anonymous, aggregate activity only. Exam papers still remain entirely on each teacher's device—no names, filenames, document contents or IP addresses are stored.
Connecting to live activity…Drag to rotate · scroll to zoom · pulses represent real visits