DOCX + PDF → QTI 2.1 converter

Turn Word and PDF papers into SLS-ready QTI

DOCX is about 75% automated. Clean Level 1 PDFs now have beta support; difficult PDFs are clearly flagged before any partial conversion.

Watch the 2-minute guide ↗

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.

DOCX + PDF → QTI Converter How to use How it works

Required input Choose a question paper (.docx or .pdf) Drag and drop it here, or click to browse
Optional input Add a mark scheme (.docx) Adds correct answers when the format can be read injects correct answers

Choose your source path

Both paths create an editable QTI review. Use Word when you have the original document.

Word / DOCX

Recommended

Best for editable source papers. Word preserves question text, images, numbering and mark-scheme matching most reliably.

1 · Template-guided document Start with Soon Shan's six English and Mathematics MCQs, including an image question. Replace the text and options while keeping the sample structure.
Download DOCX
2 · Standard Word formats Inline numbering and Word auto-lists are both supported. Use these two-question files to see the minimum structure the converter needs.
Download Download
3 · Complex papers with mark schemes Physics MCQ and structured papers demonstrate longer documents, diagrams and optional answer injection from a separate Word mark scheme.
Try five Physics papers

Review tables, equations and unusual layouts before export. Structured papers may need question boundaries adjusted.

PDF

Levels 1–3

The converter checks each PDF locally and explains what can be edited. Higher levels preserve more original-page imagery and require more review.

Level 1 · Clean PDF Selectable text, one-column questions and consistently labelled choices. This is the recommended PDF type. Best PDF support
Download PDF
Level 2 · Complex PDF Editable question candidates plus original page images preserve diagrams, tables and formulae. Review reading order and options. Partial conversion + warning
Download PDF
Level 3 · Image / scanned PDF English OCR can create editable candidates while original page images remain visible. Unrecognised pages stay as visual review items. Maximum 30 pages. Visual fallback + warning
Download PDF
Recognition runs on your device. The first use downloads the OCR engine and English language data. Handwriting, equations and other languages require manual review. Untick to keep page images only. Answers must be set during review.
⏳ 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

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)

💡 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:
  1. Export your QTI ZIP from Step 3 and save it in the same folder as this converter.
  2. Open that folder in Claude Code (download here).
  3. 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."
  4. 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

Sample QTI Downloads

Ready-to-import QTI packages. Upload directly to SLS.

25 resources Showing all subjects, levels and types
Searchable catalogue of ready-to-import QTI packages for 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.

Tutorial Videos

Resources

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

Alignment to the MOE EdTech Masterplan 2030

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:

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.

PDF Beta · confirmation required

Proceed with a partial PDF conversion?

Keep the original PDF open. Review every generated item before export and restore any content that was not detected.

❓ Frequently Asked Questions

Common questions from teachers using this converter with SLS.

Are my Word files uploaded, stored, or visible to anyone else?

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

Can this converter accept PDF question papers?

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:

  • Level 1 — clean, born-digital PDF: text can be selected and copied, questions follow a clear one-column order, and A/B/C/D options are laid out consistently. This receives the best PDF support, but every item still needs review.
  • Level 2 — complex-layout PDF: the file has selectable text but also uses multiple columns, tables, diagrams, formulae, or text positioned around images. The converter extracts editable question candidates and attaches the original page image to preserve visual context. Check reading order and question boundaries; tables and formulae remain reliable only in the source image. Up to 30 pages are supported.
  • Level 3 — scanned or image-only PDF: each page is essentially a photograph. Optional English OCR runs on your device to detect question candidates and options, with original page images retained. Unrecognised pages become visual essay items. OCR can misread text, handwriting and equations; review every item and supply answers. Untick OCR to preserve page images only. Split papers longer than 30 pages first.

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

Why do multipart questions get split into separate questions after import?

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:

  • Each sub-part will appear as an independent question in the SLS quiz.
  • The stimulus text is duplicated across parts — some manual cleanup in SLS may be needed.
  • Grouping or nesting sub-questions under a parent question must be done manually in SLS after import.

QTI 2.1 constraint Workaround: reorganise in SLS after import

Why doesn't SLS show the model answers after importing the QTI file?

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:

  • MCQ correct answers → imported automatically ✔
  • Essay / structured suggested answers → must be added manually in SLS after import ✘

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

Live activity & reach

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…
Active now — Approx. last 5 minutes
Visits — 30-minute sessions
Documents selected — Selection only; never uploaded
Review edits — Grouped edit bursts
QTI exports — Successful ZIP downloads

Country reach

Drag to rotate · scroll to zoom · pulses represent real visits