Start with a file that already works
Download the example, open it in your spreadsheet editor and replace its synthetic questions with material you have permission to use. Save or export the sheet as UTF-8, comma-separated CSV. Renaming an Excel workbook to .csv does not convert it.
On the quiz maker, choose Import question CSV. You can also open Paste spreadsheet or CSV and paste a rectangular range copied from Excel or Google Sheets, including the template header row. Tab-separated cells and comma-separated CSV are detected from the header. Keep empty cells in the range; do not remove a blank middle choice. A workbook file itself still needs CSV export.
The smallest useful row
This one-question example uses four choices and no shared passage. The numeric answer is 2 because goes is in option2.
question_id,question,option1,option2,option3,option4,answer grammar-01,She ___ to the library every Friday.,go,goes,going,gone,2
The answer column refers to the original option number. After choices are shuffled, the saved answer key shows the new letter automatically.
Column reference
| Column | Use | Example or rule |
|---|---|---|
| option1–option4 | Required | All four must contain text. A missing middle choice is an error. |
| answer | Required | A whole number from 1 to the number of actual choices. No letters or decimals. |
| question | Question prompt | A row needs question text or passage text. |
| option5 | Optional fifth choice | Leave empty, or omit this column entirely, for four choices. |
| question_id | Recommended stable source ID | grammar-01. Must be unique within one imported bank. |
| lecture | Unit filter | Unit 1. Empty values appear as Unassigned. |
| type | Question-type filter | Detail, Grammar or a label of your choice. |
| passage_id | Shared passage ID | garden. Only matching IDs in one bank are grouped. |
| passage | Reading text | Repeat the same text on rows sharing the passage ID. |
| number | Original question number | 12. Printed separately from the new exam question number. |
| lock_options | Preserve choice order | true or false. Use true for order-dependent answers. |
| explanation | Answer-key explanation | Optional; it is not shown on the question paper. |
| session | Source metadata | Retained in backups; no session filter in this pilot. |
Legacy Korean column aliases are also accepted for units, passage IDs, source numbers, types, passages, choices and answers. Review-status columns never become explanations.
What the import report means
Usable includes clean rows and rows with warnings. Excluded rows are not added to the question pool. A warning needs your attention but does not automatically remove the question. Download the report to keep the line numbers and reasons while you fix the source.
| In the error example | What happens | How to fix it |
|---|---|---|
| Line 4: blank option2 | Excluded; later options are not moved left. | Restore the missing choice and check the answer number. |
| Line 5: answer 5, only four choices | Excluded. | Correct the answer or supply a real fifth choice. |
| Line 6: conflicting shared passage | Usable with a warning; the first valid row is the representative. | Make the passages match, or give unrelated passages different IDs. |
The sample report has five data rows: three usable, two excluded and one warning. The warning is already included in the three usable rows. Line numbers are physical file lines, not necessarily spreadsheet row numbers when quoted text contains line breaks.
Commas, quotes and line breaks
A field containing a comma or a line break must be wrapped in double quotes. A literal double quote inside that field is written twice. Your spreadsheet’s CSV exporter normally handles this.
"A short notice says, ""Please return books today."""
If a closing quote is missing, the entire import stops with a syntax error. The existing saved workspace stays unchanged. Fix the CSV before trying again. Files larger than 5 MB or more than 2,000 question rows are outside this pilot’s limit.