Home › Import Canvas Quiz Questions from Excel

Import Canvas Quiz Questions from Excel: A Step-by-Step Playbook

Updated October 10, 2026 · 6 min read

You have a spreadsheet full of questions — last semester's midterm, a colleague's shared bank, a publisher file, or a draft you built over the summer. Now you need those questions inside Canvas as a real quiz. The catch: Canvas never opens an .xlsx file. It only imports quizzes through a QTI package. This playbook walks the whole move, end to end, including the moment most guides skip: when the import only brings in half your questions.

The one rule that makes this easy: lay your sheet out so that every row is exactly one complete question — stem, options, correct answer, and points all on that row. Canvas does not care what you named the columns. It cares that each row is self-contained.

Why Canvas can't just "open" your Excel file

Canvas stores quizzes in its own database and accepts new ones only through QTI 1.2, an XML standard that encodes each item's stem, answer key, and scoring. A spreadsheet is just cells; it carries no answer-key semantics or question types that Canvas can trust. So the job is always two moves: turn the sheet into QTI, then let Canvas import the QTI. The spreadsheet is the source; QTI is the bridge.

Path A vs. Path B (and why Path A wastes your afternoon)

The import playbook, step by step

1

Clean the sheet to one question per row

Delete empty rows, split any question that spilled across two rows, and keep each option in its own cell. Headers can say anything; column order does not matter.

2

Convert the Excel file to a Canvas-ready QTI package

Upload the .xlsx to a converter that reads your layout, normalizes it, and exports QTI 1.2. ExamParser (via its Excel-to-Canvas tool) does this without a fixed template — you upload the sheet you already have.

3

Import inside Canvas

In your course, open Quizzes → the three-dot "More options" menu → Import, and select the downloaded .zip (QTI 1.2). Canvas rebuilds the quiz from the package.

4

Verify before you trust it

Open the new quiz, check the question count against your sheet, spot-check the answer keys, and preview one question in Student View.

When the import is partial (the part nobody warns you about)

It is common to import a 60-question sheet and see only 54 appear. Canvas silently drops rows it cannot parse. Fix the sheet, not Canvas:

Re-export the corrected sheet and re-import. Treat the spreadsheet as the source of truth — edit there, not inside Canvas — so the next term's import starts clean.

After the questions are in Canvas

Meet the tool built for this

ExamParser is a converter purpose-built for moving exam content between spreadsheets and LMS platforms. Its Excel-to-Canvas flow reads whatever layout you already use, normalizes each row into a standard structure, and exports a Canvas-importable QTI 1.2 package — no reformatting template required. If you work across multiple platforms, the same source sheet can also feed Moodle, Blackboard, and others.

Browse more import guides at examparser.com/blog/en.

Frequently asked questions

Can I import only some of the questions from my Excel file?

Yes. Before converting, delete the rows you do not want, or move the questions you do want into their own sheet. Each uploaded sheet is treated as one question set, so controlling the rows controls what gets imported.

Canvas says 0 questions were imported. What went wrong?

This usually means the answer key or question type was not recognized. Check that every row has exactly one question, the correct option is marked with a valid 1-based index, and question-type codes are recognized. Re-download the QTI and re-import after fixing the offending rows.

Can I update questions after they are already in Canvas?

You can re-import a corrected QTI package, but Canvas treats it as a new quiz unless you edit in place. The cleaner path is to keep the source spreadsheet as the single source of truth, fix it there, and re-export. Edit individual items inside Canvas only for one-off tweaks.

Does this work with New Quizzes or only Classic Quizzes?

The QTI 1.2 export targets Classic Quizzes. If your school runs New Quizzes, import into Classic first, then use Canvas's built-in migration to convert the quiz to a New Quizzes item bank.

Ready to move your sheet?

Upload the Excel file you already have — no reformatting required — and download a Canvas-ready QTI package in minutes.

Try ExamParser →