JoltQuiz

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.

Download CSV template Download XLSX template

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.

  1. Press Copy the prompt, paste it into the chatbot, and change the words in [brackets] to your topic and size.
  2. 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.
  3. In JoltQuiz go to Quizzes & settings → Quizzes → Import a quiz, give it a title, pick the file and check the preview.
  4. 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.
  5. Read the questions and answers before your quiz night. Chatbots sometimes get facts wrong, sound sure about it, or repeat themselves.
The prompt
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

  1. 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.
  2. Save as CSV UTF-8 so emoji survive. In Excel: File, Save As, CSV UTF-8.
  3. One row per question. Rows that share a round title become one round.
  4. 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.

ColumnWhat it means
roundRound title. Rows sharing a title form one round; a blank cell means the round above. Required on a round's first row.
typeQuestion type or slide type. Required. See the list below.
questionThe prompt. For emoji questions, paste the emoji here. For slide rows this is the slide title. Required.
option_aFirst answer option. Leave blank for true_false, free_text and numeric.
option_bSecond answer option.
option_cThird answer option.
option_dFourth answer option.
option_eFifth answer option.
option_fSixth answer option (maximum).
correctSee the per-type rules below.
alt_answersExtra accepted answers for free_text/emoji, separated by a pipe, e.g. jaws|jaws 1975
time_limitSeconds, 5-120. Blank uses the quiz default. On a break slide this is the break length.
pointsHow 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_urlhttps:// image URL. Required for picture questions.
explanationShown on the big screen after the reveal. For slide rows this is the slide body text.
answer_modesolo 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_multipliere.g. 2 for a double-points round. A plain number. Once per round, on its first row.
round_scoringflat / 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

Typecorrect
multiple_choice, pictureThe option letter, A to F -- or its number, counting from 1.
true_falsetrue or false.
free_text, emoji (no options)The answer text. Put alternatives in alt_answers.
emoji (with options filled)The option letter.
numericThe number, optionally with a tolerance: 1987 or 1987Β±2.
orderThe 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.

roundtypequestionoption_aoption_boption_coption_doption_e
Horror Moviesmultiple_choiceWhich year was the original Halloween released?1976197819801982
Horror Moviestrue_falseFreddy Krueger wears a green and red jumper.
Emoji RoundemojiπŸ”ͺπŸšΏπŸ‘©
Emoji RoundemojiπŸ¦ˆπŸ–οΈπŸš€
Picture RoundpictureName this filmThe ThingAlienPredatorThey Live
NumbersnumericHow 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.

ScoringA 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.