Upload a formatted Word document and get a ready‑to‑import QTI 2.1 package — supports English, Chinese & Tamil fonts
Runs entirely in your browser — no server, no uploads
Drag & drop your question paper (.docx) here or click to select
➕ Add mark scheme (.docx) — optional
injects correct answers
🧪 Quick Load — test files
⏳ Converting… please wait
✏️ Review & Edit
Click any stem or option to edit · Images stay unchanged · Export when ready
How to use this converter
Step 1 — Upload
Drag your question paper .docx into the top zone (or click to browse).
Optionally add the matching mark scheme .docx — correct answers are injected automatically.
For Paper 1 (all MCQ) papers, tick All questions are MCQ before converting.
Click Convert Document.
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.
Step 2 — Review & Edit (optional for Essay papers)
Every detected question appears as a card showing its stem, options, and correct answer.
Click the MCQ / Essay badge on any card to toggle the question type if it was mis-detected.
Click any stem text to edit it directly — changes are live.
Edit option text in the A / B / C / D fields as needed.
For MCQ: use the correct-answer dropdown to set the right option — the letter turns green. Export is blocked until all MCQ answers are set.
For Essay / Structured papers: correct answers are optional — you can export immediately without filling them in.
Images are displayed as-is and cannot be edited here; fix them in Word before converting.
💡 Free AI workflow — auto-inject model answers using Claude Code:
No API key or per-call cost needed. Claude Code is Anthropic's AI coding
assistant that runs locally on your machine and is included with a Claude subscription.
Workflow:
Export your QTI ZIP from Step 3 and save it in the same folder as this converter.
Type a prompt such as:
"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."
Claude Code reads the ZIP, writes the model answers, and saves the updated ZIP — ready to import into SLS.
This works entirely within your subscription — no extra billing, no API key setup.
Other AI coding tools that work the same way:
VS Code + GitHub Copilot (Microsoft) — open the folder in VS Code, use Copilot Chat with the same prompt above.
Antigravity (Google) — Google's AI coding assistant; run it in this folder with the same prompt.
Trae (ByteDance) — AI-native IDE; open this folder and use its chat panel.
Cursor — AI-first code editor; open the folder and use Composer or Chat.
Windsurf (Codeium) — agentic AI IDE with similar folder-level workflows.
Any of these tools can open this project folder, read the exported QTI ZIP, and inject model answers — the same prompt works across all of them.
Step 3 — Export
When satisfied, click 📦 Export QTI ZIP at the bottom of the page.
The downloaded ZIP reflects all edits made in Step 2 — no re-upload needed.
Import the ZIP directly into Singapore Student Learning Space (SLS) via the QTI upload flow.
Click ↩ New File to reset and convert a different document.
Sample QTI Downloads
Ready-to-import QTI packages. Upload directly to SLS.
Singapore Biology prelim papers (with AI-generated model answers):
AMKSS 2025 Prelim P4 Biology Qns with Answers.zip — structured/essay paper with model answers injected via Claude Code
SLS does not yet support suggested answers for essay/structured questions via QTI import — the answers are embedded in the file but will not appear in SLS until MOE adds this feature.
Singapore Chinese (华文) MCQ worksheets — contributed by Alena:
补充作业6 2026.zip — Chinese-language MCQ worksheet (Q1–Q15) with ⑴⑵⑶⑷-style options
Singapore Chinese (华文) Primary 6 prelim paper — contributed by Francesca:
2022_P6STD_PRELIM_CHINESE_PAPER_2.zip — P6 Standard Chinese Paper 2 (2022 Prelim), 40 questions
Current shortcoming: the ZIP contains 40 questions and only 31 are showing up into SLS, but this converter currently recognises only all 40 of them. A solution is on the way I hope.
Simple test samples (demonstrating different DOCX formats):
SLS Community Gallery — browse "SBA" lesson packages shared by teachers
Teacher login required
Requires a teacher account to log in to SLS and browse the Community Gallery.
Currently returns ~1,520 resources — use the Subject and Level filters
on the left panel to narrow down to your targeted modules.
From Word Document to SLS in Minutes — Building a DOCX-to-QTI Converter for Singapore Teachers
📅 April 2026✍️ Wee Loo Kang Lawrence & Low Jun Hua🏫 Singapore Physics Educators
The Problem Every Teacher Knows
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.
"Technology-transformed learning, to prepare students for a technology-transformed world."
— Vision, MOE EdTech Masterplan 2030
The Idea: Automate the Bridge Between Word and SLS
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.
What the Converter Does
Parses the Word XML to detect question numbers, stems, MCQ options (A/B/C/D), images (DrawingML and legacy VML), and tables.
Reads the mark scheme automatically — upload the matching MS .docx and correct answers are injected into every QTI item's correctResponse field.
Handles tricky layouts — nested tables, transposed option grids (A/B/C/D as column headers), image-only options, and physics diagrams embedded as option choices inside <simpleChoice> elements.
Sorts questions correctly — SLS uses file position as the question number, so the converter deduplicates and sorts Q001→Q030 before writing assessment_test.xml.
Provides a Review & Edit step — after parsing, every question appears as an editable card in the browser. Teachers can toggle MCQ/Essay, fix stem text, change the correct answer, and review images before exporting.
Exports a ready-to-import ZIP that can be uploaded directly to SLS without any further editing.
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:
Teachers pillar — reducing administrative burdenEdTech 2030 —
The masterplan calls for teachers to spend their energy on learning design, not clerical work. Converting a 30-question paper manually into SLS can take two to three hours; this tool does it in under a minute, freeing teachers to focus on pedagogy and feedback.
Students pillar — greater personalisation through formative assessmentEdTech 2030 —
With prelim papers instantly available on SLS, teachers can assign them as digital formative tasks, gather real-time class-level data, and personalise follow-up — directly enabling the masterplan's thrust on customisation and personalisation.
System pillar — networked EdTech ecosystem and content sharingEdTech 2030 —
Years of carefully crafted exam papers — with diagrams, worked answers, and mark schemes — can be shared across departments and schools as SLS question sets, building the networked content ecosystem the masterplan envisions.
Teachers pillar — data-literate, experimentative professionalsEdTech 2030 —
Teachers who migrate their paper questions into QTI gain direct experience with digital assessment metadata (correctResponse, item identifiers, scoring), building the data literacy the masterplan identifies as essential for the modern teacher.
Schools pillar — accessible on WOG devicesEdTech 2030 —
The tool is hosted on the official 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.
Lessons Learned Building It
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.
What's Next
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.