Writing a quiz spreadsheet
One row per question. Plain columns, no formulas, no formatting rules. Upload it in Quizzes & settings → Quizzes → Import and every row is checked before anything is saved. Or let ChatGPT, Claude or Gemini write it for you.
Make a quiz with ChatGPT, Claude or Gemini
Any chatbot can write the spreadsheet for you. Copy this prompt, fill in the three lines in [brackets], and paste it into ChatGPT, Claude or Gemini. It works on the free versions.
- Press Copy the prompt, paste it into the chatbot, and change the words in [brackets] to your topic and size.
- Save what it gives you as a .csv file. If it offers a download, use that. If it shows a block of text,
copy it into Notepad (on a Mac, TextEdit with Format → Make Plain Text) and save it as
quiz.csv, choosing UTF-8 if asked. - In JoltQuiz go to Quizzes & settings → Quizzes → Import a quiz, give it a title, pick the file and check the preview.
- If a row has a problem, the preview says which row and why. Paste that line back to the chatbot and ask it to fix it.
- Read the questions and answers before your quiz night. Chatbots sometimes get facts wrong, sound sure about it, or repeat themselves.
Write a quiz for me as a CSV file that I can import into JoltQuiz.
Topic: [YOUR TOPIC, e.g. 90s music, or general knowledge]
Size: [e.g. 4 rounds of 5 questions]
Who is playing: [e.g. adults in a pub, a family, a work team]
Follow these rules exactly:
1. Give me the CSV only, as a downloadable .csv file or in one code block, with nothing else inside it.
2. The first line must be exactly this header row, with all 18 columns:
round,type,question,option_a,option_b,option_c,option_d,option_e,option_f,correct,alt_answers,time_limit,points,media_url,explanation,answer_mode,round_multiplier,round_scoring
3. One row per question, and every row has all 18 columns, even when most are empty.
4. MOST IMPORTANT: a comma inside any text breaks the whole row. Put double quotes around EVERY text cell -- round, question, every option, correct, alt_answers and explanation -- exactly as in the example below, e.g. "About 0.44 kmΒ², inside Rome.". Numbers and empty cells need no quotes. A double quote inside text is written twice (""). Plain text only: no formulas, no bold.
5. round is the round's name. Every question in a round has the same round name.
6. type is one of: multiple_choice, true_false, emoji, free_text, numeric, order. Use a mix. Do not use picture.
7. The correct column:
- multiple_choice: give 2 to 6 options in option_a onwards (4 is best); correct is the letter of the right one, A to F
- true_false: leave the options blank; correct is true or false
- emoji: put only emoji in question; leave the options blank; correct is the answer in words; other accepted answers go in alt_answers, separated by |
- free_text: leave the options blank; correct is the answer; put other accepted answers or spellings in alt_answers, separated by |
- numeric: leave the options blank; correct is the number, with an optional tolerance, e.g. 1912 or 1912Β±2
- order: give the items in option_a onwards in a jumbled order; correct is the letters in the right order, e.g. C,A,D,B
8. time_limit is seconds, 5 to 120 (20 suits most questions). points is 100 (200 for a harder one).
9. explanation: one short, interesting line shown on the big screen after the answer. Add one to every question.
10. Leave media_url, answer_mode, round_multiplier and round_scoring empty.
11. Every question must have one clearly correct answer, and every answer must be true. Keep questions short enough to read out loud. Do not always put the right answer in the same letter.
12. Before you give me the file, check every row: it must have exactly 18 cells when read as CSV, and every cell with text in it must be in double quotes. Fix any row that does not.
Here is an example of the exact format:
round,type,question,option_a,option_b,option_c,option_d,option_e,option_f,correct,alt_answers,time_limit,points,media_url,explanation,answer_mode,round_multiplier,round_scoring
"General Knowledge","multiple_choice","What is the capital of Australia?","Sydney","Melbourne","Canberra","Perth",,,"C",,20,100,,"Canberra was built to be the capital, halfway between Sydney and Melbourne.",,,
"General Knowledge","true_false","The Great Wall of China can be seen from the Moon with the naked eye.",,,,,,,"false",,15,100,,"A popular myth. It cannot.",,,
"General Knowledge","free_text","Which planet is known as the Red Planet?",,,,,,,"Mars","planet mars",20,100,,"Iron oxide - rust - in its soil makes it look red.",,,
"Emoji Films","emoji","π¦π",,,,,,,"The Lion King","lion king",20,100,,"Disney, 1994.",,,
"Numbers","numeric","In what year did the Titanic sink?",,,,,,,"1912",,20,100,,"15 April 1912, on its first voyage.",,,
"Numbers","order","Put these in order of size, smallest first","Horse","Mouse","Elephant","Cat",,,"B,D,A,C",,30,200,,"Mouse, cat, horse, elephant.",,,
Want a picture round? Picture questions need an image link for each question, so add those yourself after importing, or give the chatbot the links and tell it to use the picture type.
Three things that catch people out
- A comma inside any text breaks the row unless that cell is in double quotes: "About 0.44 kmΒ², inside Rome." -- Excel and Google Sheets add the quotes for you when you save as CSV. If you type or paste the CSV yourself, or a chatbot writes it, put double quotes around every question, option, answer and explanation.
- Save as CSV UTF-8 so emoji survive. In Excel: File, Save As, CSV UTF-8.
- One row per question. Rows that share a round title become one round.
- Check the preview before importing -- nothing is saved until every row passes.
Columns
Header names are case-insensitive and the order does not matter. Blank rows are skipped.
| Column | What it means |
|---|---|
round | Round title. Rows sharing a title form one round; a blank cell means the round above. Required on a round's first row. |
type | Question type or slide type. Required. See the list below. |
question | The prompt. For emoji questions, paste the emoji here. For slide rows this is the slide title. Required. |
option_a | First answer option. Leave blank for true_false, free_text and numeric. |
option_b | Second answer option. |
option_c | Third answer option. |
option_d | Fourth answer option. |
option_e | Fifth answer option. |
option_f | Sixth answer option (maximum). |
correct | See the per-type rules below. |
alt_answers | Extra accepted answers for free_text/emoji, separated by a pipe, e.g. jaws|jaws 1975 |
time_limit | Seconds, 5-120. Blank uses the quiz default. On a break slide this is the break length. |
points | How much this question is worth relative to the others. Leave it at 100 for an ordinary question, 200 for one worth double, 50 for a half, 0 for one that does not count. Default 100. |
media_url | https:// image URL. Required for picture questions. |
explanation | Shown on the big screen after the reveal. For slide rows this is the slide body text. |
answer_mode | solo or captain, only for a round that must be answered differently from the room. Blank lets the room's own setting decide. Once per round, on its first row. |
round_multiplier | e.g. 2 for a double-points round. A plain number. Once per round, on its first row. |
round_scoring | flat / speed / closest, when this round scores differently from the rest of the quiz. Blank uses the quiz's setting. Once per round, on its first row. |
What goes in correct
| Type | correct |
|---|---|
multiple_choice, picture | The option letter, A to F -- or its number, counting from 1. |
true_false | true or false. |
free_text, emoji (no options) | The answer text. Put alternatives in alt_answers. |
emoji (with options filled) | The option letter. |
numeric | The number, optionally with a tolerance: 1987 or 1987Β±2. |
order | The option letters in the correct order, e.g. C,A,B,D. |
Question types
multiple_choicetrue_falseemojifree_textpicturenumericorder
Slide rows
A quiz is a deck, not just questions. You can put slides in the sheet too: set
type to one of these, put the title in question, the body in
explanation, an image in media_url, and for a break the length
in seconds in time_limit.
A slide plays where its row sits among the question rows: a round title above a round's first question opens that round, and a break between questions 5 and 6 comes between them. Intro and rules rows at the top open the night, and so does any slide above the first round with its round cell blank; an end slide closes the night, whichever row it is on.
A round title only ever opens a round. Written with its round cell blank under a
round's questions, it opens the next one — the round named on the rows below
it, or, if those are blank too, the round it names. Between two questions of the
same round it is refused: for a card partway through a round, use
slide_message.
A slide_round_title row carrying the round's own name, or no title at
all, is that round's usual title card with your explanation under it
— round number, double points and answer mode included.
slide_breakslide_challengeslide_endslide_introslide_leaderboardslide_messageslide_round_resultsslide_round_titleslide_rules
Intro, round titles, leaderboards and the end slide are added automatically if you do not include them, so you can add just one sponsor message and still get a full deck.
Answer modes
Leave answer_mode blank and each round is answered the way the host set
the room up. Fill it in, on a round's first row, only for a round that must be
answered differently. The host can always override it live.
solocaptain
Example rows
The first eight columns of the rows shipped in the template.
| round | type | question | option_a | option_b | option_c | option_d | option_e |
|---|---|---|---|---|---|---|---|
| Horror Movies | multiple_choice | Which year was the original Halloween released? | 1976 | 1978 | 1980 | 1982 | |
| Horror Movies | true_false | Freddy Krueger wears a green and red jumper. | |||||
| Emoji Round | emoji | πͺπΏπ© | |||||
| Emoji Round | emoji | π¦ποΈπ€ | |||||
| Picture Round | picture | Name this film | The Thing | Alien | Predator | They Live | |
| Numbers | numeric | How many Saw films are there (to 2023)? |
What the validator tells you
A dry run happens first, and reports by row in plain English:
Row 4: correct = "G" but only options A-D are filled. Row 7: type "pictur" not recognised -- did you mean "picture"? Row 9: time_limit 3 is below the minimum of 5. Row 12: emoji question looks like it lost its emoji -- re-save the file as UTF-8.
Nothing is imported until there are zero errors. Warnings never block an import.
How the scoring works
Picked per quiz. Both scales give small numbers a room can follow.
| Scoring | A correct answer is worth |
|---|---|
| Flat | 1 point, however long you took. |
| Speed | 5 for the fastest correct answer, 4.9 for the next, 4.8 for the one after — a tenth less each place, never below 1. |
| Closest | Numbers only. The nearest guess takes 5, the furthest still takes 1. |
A wrong answer scores nothing on any of them. A double-points round doubles
whatever the scoring decided, and the points column above weights
one question against another.
So a twenty-question night on speed tops out around a hundred, and being right matters far more than being quick: the tenths separate a fast field, they do not punish a table that took its time and got it right.