How to Open a QTI File (and What Is Inside One)
A QTI file is a zip, so you open it by extracting it and reading the XML in any text editor or browser. Here is what should be inside, how to check a package before importing it, and why a file that opens fine can still be rejected.
By the VidQuiz team
July 2026 · 7 min read
Try it while you read
Pick a sample above or paste a video link, then hit Generate quiz to turn it into questions.
Reading the video…
Pulling the key moments and writing your questions…
Nice. That quiz was written from the video in seconds.
This quiz was made from the video. Now make one from yours.
The short answer
A QTI file is a zip archive, so you open it the same way you open any zip: extract it. Inside you will find an imsmanifest.xml index and one or more XML files holding the questions. Any text editor reads those. There is no dedicated app you need to install first.
The confusion usually comes from the extension. Some tools hand you a file ending in .zip, others give you a bare .xml, and a few use .qti. All three are readable with software already on your machine, but only one of them is actually importable, which is the part that trips people up.
How do you open a QTI file?
Extract it, then read the XML. On Windows, right click the file and choose Extract All. On macOS, double click it and Finder unpacks it into a folder next to the original. If the file arrived with a .qti extension and your operating system refuses to open it, rename it to .zip first, because the extension is cosmetic and the contents are unchanged.
Once it is extracted you have a folder of XML. Open any of those files in a plain text editor: Notepad, TextEdit, VS Code, Sublime, whatever you already have. A browser works too. Drag the XML into Chrome, Firefox, or Safari and it renders as a collapsible tree, which is easier to skim than a wall of tags and is the fastest way to check whether a package contains what you expected.
What you should not do is open it in Word. Word will try to interpret the markup, and if you then save the file it can quietly rewrite quote characters and encoding in ways that break the import later. Read it in a text editor, and if you need to change anything, change it there.
What does a QTI file look like inside?
A well formed package has a predictable shape. This is what you should see immediately after extracting, with nothing hidden inside an extra folder:
| What you see | What it is | Should it be there? |
|---|---|---|
imsmanifest.xml | The index listing every other file and its resource type | Yes, always, at the top level |
One or more .xml files | The assessment itself: questions, options, scoring | Yes, at least one |
| A media or images folder | Pictures and audio referenced by questions | Only if questions use media |
| A single folder containing everything | The package was zipped one level too high | No, this breaks the import |
| Nothing, it will not extract | The file is a bare XML, not a package | Readable, but not importable as is |
Open the assessment XML and the structure is repetitive once you see it. There is an assessment element wrapping a section, and inside that one item per question. Each item carries the question text, a list of possible responses, and a scoring block that names which response earns the point. Explanations, where the authoring tool included them, ride along as item feedback.
You do not need to understand the whole specification to sanity check a file. Count the item elements. If you exported twenty questions and the file has twenty items, the export worked. If it has eleven, something was dropped, and it is usually a question type the exporting tool could not represent.
Is there a QTI file viewer?
There are QTI players, and they are not really what most people are looking for. Tools built on the specification, such as the open source QTIWorks engine or commercial assessment delivery platforms, can render a package as a working quiz you click through. They are aimed at developers and assessment vendors, and standing one up to check a single file is a lot of effort for the payoff.
For everyday checking, the browser is the viewer. Extracted XML dropped into a browser tab gives you a readable tree in about two seconds. If what you actually want is to see the quiz as learners will see it, the shortest path is to import the package into a sandbox course in your own LMS and preview it there. That also tests the thing you care about, which is whether your platform accepts the file, and no offline viewer can answer that question for you.
Why will my QTI file not open or import?
Opening and importing fail for different reasons, and it helps to know which one you are hitting. If the file will not extract at all, it is almost certainly not a zip. A bare assessment XML has no archive structure, so your unzip tool reports a corrupt or unrecognized file. Rename it to .xml and open it in a text editor instead. It will read fine.
If it extracts but your LMS rejects it, the manifest is the first thing to check. Canvas looks for imsmanifest.xml at the root of the archive, and if the package was made by zipping the enclosing folder rather than its contents, the manifest sits one level down where the importer never looks. Re-zip from inside the folder, selecting the files themselves, and the same content imports cleanly.
The remaining causes are less common but worth knowing:
- A version mismatch between what the package declares and what the platform accepts, which often produces a partial import rather than an error.
- Question types with no equivalent on the destination platform. Free response and some interaction types are dropped silently rather than converted.
- Unescaped special characters in the question text, which make the XML invalid. A browser will point at the offending line.
- Moodle, which does not read QTI natively at all. It imports GIFT, Moodle XML, and Aiken, so a QTI package is simply the wrong file to hand it.
If you want the fuller picture of which platforms accept the format and how the import screens differ, we covered that separately in what a QTI file is and how to import one into your LMS.
Who actually deals with QTI files?
Mostly instructional designers, LMS administrators, and faculty moving question banks between systems: a course migrating from Blackboard to Canvas, a publisher shipping a test bank alongside a textbook, or a department consolidating years of quizzes into one place. The format exists so that work does not mean retyping every question.
It is not only an education problem. Any system that has to hand a scored assessment to another system runs into the same interchange question, which is why certification bodies and the platforms that screen and rank job candidates end up standardizing on something similar. Education just settled on QTI earlier and stuck with it.
How do you check a package before you import it?
Two minutes of checking saves an hour of cleanup in a live course. Run through this before you upload anything into a course that students can see:
- Extract the archive and confirm
imsmanifest.xmlis visible immediately, not inside a subfolder. - Open the assessment XML in a browser and confirm it renders as a tree rather than throwing a parse error.
- Count the questions and compare against what you expected to export.
- Spot check two or three items to confirm the correct answer is actually marked.
- Import into a sandbox course first, never straight into the live one.
That last point is the one people skip. An import that goes wrong in a live course leaves half a question bank behind, and cleaning it up is slower than doing the import twice.
Where QTI files come from in the first place
Every QTI package started life somewhere else. Some come out of an LMS export, some from a publisher, and some from a generator that built the questions for you. If you are on the creating side rather than the receiving side, the packaging step is where most of the pain sits, because a tool that emits a loose XML file leaves you to build the manifest and zip it correctly yourself.
VidQuiz takes the other approach. You paste a video link, it reads the spoken content and drafts multiple choice questions with the correct answer marked and a short explanation, you edit whatever needs changing, and the export is a complete package: manifest included, zipped correctly, ready to upload. That is the whole point of our QTI file generator, and it is why the file opens and imports on the first try.
If your questions are coming from recorded material, the same flow covers whichever platform you land in, whether that is a Canvas quiz generator workflow or a broader LMS quiz generator setup across several courses. And if the quiz never needs to reach a gradebook at all, skip the format question entirely and share it as a link that anyone can answer in the browser.
Turn any video into a quiz
Paste a YouTube, course, training or webinar link and VidQuiz writes the questions for you, with answers and explanations. See how it works or explore use cases.