Import a QTI File into the NEO LMS Question Bank: A Technical Reference
You have a QTI package — maybe exported from another LMS, generated from a spreadsheet, or produced by a converter — and you want it inside NEO LMS. First, a naming note: NEO LMS is now called CYPHER LMS, renamed by its maker CYPHER LEARNING (you will still see "NEO / Matrix LMS" in older docs and the "Import QTI" button). Regardless of the label, the question bank accepts questions through exactly one path: an imported QTI package. This reference explains what QTI is, why NEO only speaks QTI, the exact import steps, the question types that survive, and the failure modes that waste an afternoon.
What a QTI package actually contains
A QTI "file" is usually a .zip holding an XML manifest plus one XML file per question (and any media). The manifest tells the importer how the items relate; each item file declares its type and answer key. A valid, self-contained package is what the Import QTI step expects.
The exact import steps (course-level)
Open the target course
In CYPHER LMS, question banks are tied to a course. There is no platform-wide bank, so start inside the specific course where the questions should live.
Create the quiz shell
From the left panel open Assignments, click add (top right), set the quiz title and parameters, and open the resulting quiz assignment page.
Open the question bank
On the quiz assignment page, click the Questions tab. This is the question bank for that quiz/course.
Import QTI
Click Import QTI in the middle of the page and select your .zip. Imported questions appear in the bank immediately — no separate "publish" step for the bank itself.
Verify the import
Confirm the question count and spot-check answer keys and media. If something is missing, fix the source package and re-import rather than editing items one by one.
Question types that map cleanly
| QTI item type | Lands in NEO / CYPHER as | Notes |
|---|---|---|
| Multiple choice (single) | Multiple choice | One correct option; cleanest mapping |
| Multiple response | Multiple correct | Map all correct options; partial credit depends on quiz settings |
| True / False | True/False | Usually a 2-option MC in QTI |
| Short answer / fill-in | Short answer | Exact-match or regex per platform |
| Essay | Essay / open response | No auto-grading |
| Matching | Matching | Supported, but verify pairs after import |
The usual failure causes
- Malformed manifest. A broken or missing
imsmanifest.xmlstops the import before it starts. Validate XML well-formedness first. - Unsupported question type. A type the importer does not recognize is dropped or converted to a generic item. Stick to the types in the table above.
- Media not in the zip. If an item references an image by URL but the file is outside the package, the image is missing after import. Bundle media inside the zip.
- Wrong QTI flavor. Some exports use a vendor-specific QTI dialect. A neutral QTI 2.1 is the safest bet for NEO/CYPHER's Import QTI.
- Importing at the wrong level. Remember the bank is course-bound; importing outside a course assignment will not place the questions where you expect.
Moving a bank from another LMS
If your source platform exports QTI, the move is direct: export the source bank as a QTI package, then import it into the target CYPHER LMS course's question bank. Types that exist in both platforms map cleanly; platform-specific types (and any embedded media) may need a quick manual pass after import.
Generating a QTI package from your own content
If your questions live in a spreadsheet or Word document rather than another LMS, you first need to produce the QTI package. ExamParser reads the .xlsx or .docx you already have, structures every item with its answer key, and exports a NEO-ready QTI package — no fixed template, no manual QTI authoring. From there, the Import QTI steps above finish the job.
Browse more import guides at examparser.com/blog/en.
Frequently asked questions
What QTI version should I use for NEO / CYPHER LMS?
CYPHER LMS (formerly NEO LMS) accepts QTI packages including QTI 2.1 and QTI 1.2. Export a well-formed QTI 2.1 zip for the safest Import QTI result.
Can I import a question bank without attaching it to a course?
No. In CYPHER LMS, question banks are tied to a course. The Import QTI action lives inside a specific course's quiz (Assignments → Questions tab). There is no standalone, platform-wide question bank upload.
My QTI import failed with no clear error. What is the usual cause?
The most common causes are a malformed XML manifest, a question type the importer does not recognize, or media references that point to files not included in the zip. Validate the package (well-formed XML, supported types, self-contained media) before importing.
Can I move a question bank from another LMS into NEO?
Yes, if that other LMS can export QTI. Export the source bank as a QTI package, then import it into the target CYPHER LMS course's question bank through Import QTI. Question types that exist in both platforms map cleanly; platform-specific types may need a manual pass.
Ready to build your QTI package?
Turn the spreadsheet or Word document you already have into a NEO-ready QTI package, then import it in minutes.
Try ExamParser →