For every educator — free, no login required

Free Tools, Games & Resources
for Every Teacher

Built by an 18-year classroom veteran. Timers, puzzle generators, smartboard games, worksheets, and more — ready to use right now.

No login needed Works on Smart Board & iPad New tools added regularly 100% free
Classroom Games

Free Jeopardy Game Maker for Teachers — No Login Required

Pinterest LinkedIn

Review days do not have to feel like review days. When students hear the Jeopardy music and see a point board on the screen, something shifts in the room. They lean in. They compete. They remember. This free Jeopardy game maker lets you build a fully custom game for any subject, any grade, in about five minutes — and play it directly in the browser or download it as a file you can use any time, even without internet.

Jeopardy Game Generator

Create · Customize · Play · Download

1 Game Setup
2 Board Theme
Classic Blue
Dark Mode
Forest Green
Sunset Red
Ocean Blue
Royal Purple
Custom
Slate Gray
3 Teams (shown on scoreboard)
4 Categories & Questions

Click a category header to expand it. Enter your clue (what you show students) and the answer. Leave clue blank to show a blank tile on the board.

5 Final Jeopardy

Note: Sounds and live scoring only work in Preview mode. PowerPoint/Google Slides are static slide decks (no built-in timers or scripting in browser-based export).

\n';var blob = new Blob([html], { type: 'text/html;charset=utf-8;' }); var url = URL.createObjectURL(blob); var a = document.createElement('a'); a.href = url; a.download = title.replace(/[^a-zA-Z0-9 ]/g, '').replace(/ /g, '-') + '-jeopardy.html'; a.click(); URL.revokeObjectURL(url); setStatus('HTML game file downloaded! Open in any browser to play.'); setTimeout(function() { setStatus(''); }, 5000); }function escHTML(s) { return String(s).replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); }function getBannerHTML(title, teacher, subject) { var sub = teacher || subject ? (' — ' + [teacher, subject].filter(Boolean).join(' | ')) : ''; return '
' + '
' + '' + '' + escHTML(title) + sub + '' + '
' + 'More Free Tools' + '
\n'; }function getFooterHTML() { return '\n'; }function getGameHTML() { return '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + ' \n' + '
\n' + '
\n' + '
\n' + '
\n' + '
Answer
\n' + '
\n' + ' \n' + ' \n' + ' \n' + '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + '
\n' + '
🏆
\n' + '
WINNER!
\n' + '
\n' + '
\n' + '
\n' + ' \n' + '
\n' + '
\n'; }function getGameCSS(T) { var bd = '#' + T.board; var cl = '#' + T.cell; var ac = '#' + T.accent; var hd = '#' + T.header; return [ '*{box-sizing:border-box;margin:0;padding:0}', 'body{font-family:Sora,system-ui,sans-serif;background:' + bd + ';min-height:100vh;display:flex;flex-direction:column}', /* Banner */ '.g-banner{background:#1a1e35;display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:3px solid ' + ac + ';flex-shrink:0}', '.g-banner-left{display:flex;align-items:center;gap:16px}', '.g-logo{font-family:"Bebas Neue",Arial Black,sans-serif;font-size:20px;color:' + ac + ';text-decoration:none;letter-spacing:1px}', '.g-banner-title{font-size:13px;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:.04em}', '.g-banner-cta{background:' + ac + ';color:#1a1e35;font-size:12px;font-weight:800;padding:7px 14px;border-radius:8px;text-decoration:none;white-space:nowrap;transition:opacity .15s}', '.g-banner-cta:hover{opacity:.85}', /* Board */ '#g-board-wrap{flex:1;display:flex;flex-direction:column;overflow:auto}', '#g-board-inner{flex:1;display:flex;flex-direction:column}', '.g-title-row{display:flex;align-items:center;justify-content:center;padding:14px;font-family:"Bebas Neue",Arial Black,sans-serif;font-size:36px;letter-spacing:3px;background:linear-gradient(135deg,' + hd + ',' + bd + ');color:' + ac + ';border-bottom:3px solid ' + ac + ';text-shadow:0 2px 8px rgba(0,0,0,.4);flex-shrink:0}', '.g-grid{display:grid;flex:1}', '.g-cat-hdr{background:linear-gradient(180deg,' + hd + ',' + bd + ');color:' + ac + ';padding:14px 8px;text-align:center;font-family:"Bebas Neue",Arial Black,sans-serif;font-size:17px;letter-spacing:1px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;min-height:64px}', '.g-cell{background:linear-gradient(180deg,' + cl + ',' + bd + ');color:' + ac + ';text-align:center;cursor:pointer;font-family:"Bebas Neue",Arial Black,sans-serif;font-size:30px;letter-spacing:1px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:all .15s;user-select:none;text-shadow:0 2px 6px rgba(0,0,0,.3)}', '.g-cell:hover{background:linear-gradient(180deg,#1428f5,' + cl + ');transform:scale(1.015);z-index:2}', '.g-cell.used{background:linear-gradient(180deg,#05088a,#030660);color:rgba(245,197,24,.18);cursor:default;pointer-events:none;position:relative}', '.g-cell.used::before{content:"x";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Sora,sans-serif;font-size:36px;font-weight:900;color:rgba(245,197,24,.3)}', /* Scoreboard */ '.g-scores{display:flex;border-top:3px solid ' + ac + ';flex-shrink:0}', '.g-team{flex:1;background:linear-gradient(180deg,#030a7a,#020660);padding:10px 8px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}', '.g-team:last-child{border-right:none}', '.g-team-name{font-size:11px;font-weight:700;color:rgba(245,197,24,.7);letter-spacing:.04em;text-transform:uppercase}', '.g-team-score{font-family:"Bebas Neue",Arial Black,sans-serif;font-size:28px;color:' + ac + ';letter-spacing:1px}', /* Overlay */ '#g-overlay{display:none;position:fixed;inset:0;background:rgba(3,6,96,.92);z-index:9999;align-items:center;justify-content:center;padding:20px}', '#g-overlay.show{display:flex}', '#g-q-card{background:linear-gradient(135deg,' + cl + ',' + bd + ');border:3px solid ' + ac + ';border-radius:20px;max-width:760px;width:100%;padding:36px 40px;text-align:center;box-shadow:0 24px 64px rgba(0,0,0,.6);position:relative;max-height:90vh;overflow-y:auto}', '#g-q-pts{font-family:"Bebas Neue",Arial Black,sans-serif;font-size:44px;color:' + ac + ';letter-spacing:2px;margin-bottom:6px}', '#g-q-cat{font-size:12px;font-weight:700;color:rgba(245,197,24,.6);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}', '#g-timer-bar{height:8px;background:rgba(255,255,255,.15);border-radius:4px;margin-bottom:16px;overflow:hidden;display:none}', '#g-timer-fill{height:100%;background:' + ac + ';border-radius:4px;transition:width 1s linear;width:100%}', '#g-q-clue{font-size:26px;font-weight:700;color:#fff;line-height:1.5;margin-bottom:24px;min-height:60px}', '#g-q-ans-wrap{background:rgba(0,0,0,.25);border-radius:10px;padding:14px 20px;margin-bottom:20px;display:none}', '#g-q-ans-wrap.show{display:block}', '.g-ans-lbl{font-size:10px;font-weight:700;color:rgba(245,197,24,.6);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}', '#g-q-ans{font-size:24px;font-weight:700;color:' + ac + '}', '#g-q-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}', '.g-btn{padding:11px 22px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:13px;font-weight:700;font-family:Sora,sans-serif;cursor:pointer;transition:all .15s}', '.g-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}', '.g-btn-reveal{background:' + ac + ';color:#060ce8;border-color:' + ac + ';font-weight:800}', '.g-btn-reveal:hover{opacity:.9}', '#g-q-close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;border-radius:6px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:800;transition:all .15s}', '#g-q-close:hover{background:rgba(255,255,255,.25);color:#fff}', '#g-award-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}', '.g-award-btn{padding:7px 14px;border-radius:8px;border:1.5px solid rgba(245,197,24,.4);background:rgba(245,197,24,.08);color:' + ac + ';font-size:11px;font-weight:700;font-family:Sora,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}', '.g-award-btn:hover{background:rgba(245,197,24,.22);border-color:' + ac + '}', '.g-award-btn.awarded{background:rgba(245,197,24,.35);border-color:' + ac + '}', /* Celebration overlay */ '#g-celebrate{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center;background:rgba(3,6,96,.94);font-family:Sora,sans-serif}', '#g-celebrate.show{display:flex}', '#g-cel-card{text-align:center;max-width:580px;width:92%;padding:44px 36px;border:4px solid ' + ac + ';border-radius:24px;background:linear-gradient(135deg,' + cl + ',' + bd + ');box-shadow:0 0 80px rgba(245,197,24,.4)}', '#g-cel-label{font-size:13px;font-weight:700;color:rgba(245,197,24,.7);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}', '#g-cel-name{font-family:"Bebas Neue",Arial Black,sans-serif;font-size:58px;color:' + ac + ';letter-spacing:3px;line-height:1.1;margin-bottom:6px;text-shadow:0 0 30px rgba(245,197,24,.6)}', '#g-cel-score{font-size:20px;font-weight:700;color:rgba(255,255,255,.8);margin-bottom:24px}', '#g-cel-all{display:grid;gap:6px;margin-bottom:24px}', '.g-cel-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.08);border-radius:8px;padding:8px 14px}', '.g-cel-row.winner{background:rgba(245,197,24,.18);border:1.5px solid rgba(245,197,24,.4)}', '.g-cel-tname{font-size:14px;font-weight:700;color:#fff}', '.g-cel-tscore{font-family:"Bebas Neue",Arial Black,sans-serif;font-size:22px;color:' + ac + '}', '#g-cel-close{padding:11px 28px;border-radius:10px;border:2px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:13px;font-weight:700;font-family:Sora,sans-serif;cursor:pointer}', '#g-cel-close:hover{background:rgba(255,255,255,.2)}', '.g-confetti{position:fixed;top:-14px;width:10px;height:14px;border-radius:2px;z-index:9998;pointer-events:none}', /* Footer */ '.g-footer{background:#1a1e35;color:rgba(255,255,255,.5);text-align:center;padding:10px 20px;font-size:11px;flex-shrink:0;border-top:2px solid ' + ac + '}', '.g-footer a{color:' + ac + ';text-decoration:none}', '.g-footer a:hover{text-decoration:underline}' ].join('\n'); }function getGameJS() { return [ '(function(){', '"use strict";', 'var scores=[],usedCells={},timerInt=null,currentCell=null;', 'var i;for(i=0;imx){mx=scores[i];wi=i;}}', ' var nn=document.getElementById("g-cel-name");', ' var ns=document.getElementById("g-cel-score");', ' var na=document.getElementById("g-cel-all");', ' if(nn)nn.textContent=GAME.teamNames[wi]||("Team "+(wi+1));', ' if(ns)ns.textContent=mx+" points";', ' if(na){na.innerHTML="";for(i=0;i0.5?"50%":"2px";', ' document.body.appendChild(p);', ' var st=null,dur=2+Math.random()*2,h=window.innerHeight+60;', ' var sx=parseFloat(p.style.left),dx=(Math.random()-.5)*180;', ' function af(ts){if(!st)st=ts;var pg=(ts-st)/(dur*1000);if(pg>=1){try{document.body.removeChild(p);}catch(e){}return;}', ' p.style.top=(pg*h)+"px";p.style.left="calc("+sx+"vw + "+(dx*pg)+"px)";', ' p.style.transform="rotate("+(pg*600)+"deg)";p.style.opacity=String(Math.max(0,1-pg*1.2));', ' requestAnimationFrame(af);}', ' requestAnimationFrame(af);', ' },idx*22);', ' })(i);}', '}', 'document.getElementById("g-cel-close").addEventListener("click",function(){document.getElementById("g-celebrate").className="";});', /* Final Jeopardy */ 'if(GAME.hasFinal){', ' var fb=document.createElement("button");', ' fb.textContent="FINAL JEOPARDY: "+GAME.finalCat;', ' fb.style.cssText="display:block;width:100%;padding:16px;cursor:pointer;background:linear-gradient(135deg,#060ce8,#0a12ee);color:#f5c518;font-family:Bebas Neue,Arial Black,sans-serif;font-size:22px;letter-spacing:3px;border:none;border-top:3px solid #f5c518;transition:opacity .15s;";', ' fb.addEventListener("mouseenter",function(){this.style.opacity=".82";});', ' fb.addEventListener("mouseleave",function(){this.style.opacity="1";});', ' fb.addEventListener("click",function(){', ' document.getElementById("g-q-pts").textContent="FINAL JEOPARDY";', ' document.getElementById("g-q-cat").textContent=GAME.finalCat;', ' document.getElementById("g-q-clue").textContent=GAME.finalClue;', ' document.getElementById("g-q-ans").textContent=GAME.finalAns;', ' document.getElementById("g-q-ans-wrap").className="";', ' document.getElementById("g-award-row").innerHTML="";', ' if(timerInt){clearInterval(timerInt);timerInt=null;}', ' document.getElementById("g-timer-bar").style.display="none";', ' document.getElementById("g-overlay").className="show";', ' sDD();', ' });', ' document.getElementById("g-board-inner").appendChild(fb);', '}', /* Declare Winner button */ 'var wb=document.createElement("button");', 'wb.textContent="Declare Winner";', 'wb.style.cssText="display:block;width:100%;padding:12px;cursor:pointer;background:rgba(245,197,24,.1);color:rgba(245,197,24,.7);font-family:Sora,sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:none;border-top:1px solid rgba(245,197,24,.2);transition:all .15s;";', 'wb.addEventListener("mouseenter",function(){this.style.background="rgba(245,197,24,.22)";this.style.color="#f5c518";});', 'wb.addEventListener("mouseleave",function(){this.style.background="rgba(245,197,24,.1)";this.style.color="rgba(245,197,24,.7)";});', 'wb.addEventListener("click",function(){declareWinner();});', 'document.getElementById("g-board-inner").appendChild(wb);', 'buildBoard();', '})();' ].join('\n'); }/* ============================================================ POWERPOINT EXPORT (PptxGenJS) ============================================================ */ function buildPPTX(forGSlides) { if (typeof PptxGenJS === 'undefined') { setStatus('PowerPoint library loading. Try again.', true); return; } collectData(); setStatus('Building PowerPoint...');var pres = new PptxGenJS(); pres.layout = 'LAYOUT_WIDE'; /* 13.33 x 7.5 inches (16:9) */var T = THEMES[selectedTheme]; var boardBG = T.board; var cellBG = T.cell; var gold = T.accent; var hdrBG = T.header; var txtCol = T.text;var cats = gameData.categories; var numCats = cats.length; var ptsList = getPointValues(); var numRows = ptsList.length; var title = gv('jep-game-title') || 'Jeopardy!'; var teacher = gv('jep-teacher-name'); var subject = gv('jep-subject');/* ---- SLIDE 1: Title ---- */ var titleSlide = pres.addSlide(); titleSlide.background = { color: boardBG }; titleSlide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: '100%', h: '100%', fill: { type: 'solid', color: boardBG } }); /* Decorative gold border */ titleSlide.addShape(pres.ShapeType.rect, { x: 0.3, y: 0.3, w: 12.73, h: 6.9, fill: { type: 'none' }, line: { color: gold, width: 6, dashType: 'solid' } }); titleSlide.addText(title, { x: 0.5, y: 2.0, w: 12.33, h: 2.0, fontSize: 64, bold: true, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial Black' }); if (teacher) { titleSlide.addText(teacher, { x: 0.5, y: 4.3, w: 12.33, h: 0.5, fontSize: 22, color: txtCol, align: 'center', italic: true }); } if (subject) { titleSlide.addText(subject, { x: 0.5, y: 4.9, w: 12.33, h: 0.4, fontSize: 16, color: gold, align: 'center' }); } titleSlide.addText('richineducation.com', { x: 0.5, y: 7.0, w: 12.33, h: 0.3, fontSize: 11, color: '88888888', align: 'center' });/* ---- SLIDE 2: Game Board ---- */ var boardSlide = pres.addSlide(); boardSlide.background = { color: boardBG };/* Title bar */ boardSlide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: '100%', h: 0.55, fill: { type: 'solid', color: hdrBG } }); boardSlide.addText(title, { x: 0, y: 0, w: '100%', h: 0.55, fontSize: 22, bold: true, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial Black' });/* Grid dimensions */ var gridTop = 0.55; var gridH = 6.95; var gridW = 13.33; var padX = 0.04; var cellW = (gridW - padX * (numCats + 1)) / numCats; var rowH = (gridH - padX * (numRows + 2)) / (numRows + 1); /* +1 for cat header row */ var catRowH = rowH;/* Category headers */ var ci, ri; for (ci = 0; ci < numCats; ci++) { var cx = padX + ci * (cellW + padX); boardSlide.addShape(pres.ShapeType.rect, { x: cx, y: gridTop + padX, w: cellW, h: catRowH, fill: { type: 'solid', color: hdrBG }, line: { color: gold, width: 1 } }); boardSlide.addText(cats[ci].name || ('Cat ' + (ci + 1)), { x: cx, y: gridTop + padX, w: cellW, h: catRowH, fontSize: Math.max(9, Math.round(13 - numCats * 0.5)), bold: true, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial' }); }/* Point cells */ for (ri = 0; ri < numRows; ri++) { for (ci = 0; ci < numCats; ci++) { var cellX = padX + ci * (cellW + padX); var cellY = gridTop + padX + catRowH + padX + ri * (rowH + padX); var q = cats[ci].questions[ri]; boardSlide.addShape(pres.ShapeType.rect, { x: cellX, y: cellY, w: cellW, h: rowH, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 1 } }); boardSlide.addText(String(ptsList[ri]), { x: cellX, y: cellY, w: cellW, h: rowH, fontSize: Math.max(18, Math.round(28 - numCats * 1.5)), bold: true, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial Black' }); if (q.dd) { boardSlide.addText('DD', { x: cellX + cellW - 0.32, y: cellY + 0.04, w: 0.28, h: 0.20, fontSize: 7, bold: true, color: 'CC66FF', align: 'right' }); } } }/* ---- SLIDES 3+: One question slide per cell ---- */ for (ci = 0; ci < numCats; ci++) { for (ri = 0; ri < numRows; ri++) { var q2 = cats[ci].questions[ri]; var pts = ptsList[ri];/* Question slide */ var qSlide = pres.addSlide(); qSlide.background = { color: boardBG }; /* Header */ qSlide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: '100%', h: 0.65, fill: { type: 'solid', color: hdrBG } }); var headerTxt = (cats[ci].name || 'Category') + ' - ' + pts + ' pts'; if (q2.dd) { headerTxt = 'DAILY DOUBLE!'; } qSlide.addText(headerTxt, { x: 0, y: 0, w: '100%', h: 0.65, fontSize: q2.dd ? 32 : 20, bold: true, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial Black' }); /* Points */ qSlide.addText(String(pts) + ' points', { x: 0, y: 0.7, w: '100%', h: 0.5, fontSize: 18, color: gold, align: 'center', italic: true }); /* Clue */ qSlide.addShape(pres.ShapeType.rect, { x: 0.6, y: 1.3, w: 12.13, h: 3.6, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 2 } }); qSlide.addText(q2.clue || '(Clue not entered)', { x: 0.8, y: 1.4, w: 11.73, h: 3.4, fontSize: 28, color: txtCol, align: 'center', valign: 'middle', fontFace: 'Arial', wrap: true }); /* Answer (on separate slide for reveal) */ var aSlide = pres.addSlide(); aSlide.background = { color: boardBG }; aSlide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: '100%', h: 0.65, fill: { type: 'solid', color: hdrBG } }); aSlide.addText(headerTxt, { x: 0, y: 0, w: '100%', h: 0.65, fontSize: 20, bold: true, color: gold, align: 'center', valign: 'middle' }); aSlide.addText('ANSWER', { x: 0, y: 0.7, w: '100%', h: 0.45, fontSize: 14, color: gold, align: 'center', bold: true }); aSlide.addShape(pres.ShapeType.rect, { x: 0.6, y: 1.25, w: 12.13, h: 2.5, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 2 } }); aSlide.addText(q2.answer || '(Answer not entered)', { x: 0.8, y: 1.35, w: 11.73, h: 2.3, fontSize: 28, color: gold, align: 'center', valign: 'middle', fontFace: 'Arial', bold: true, wrap: true }); } }/* ---- Final Jeopardy slides ---- */ if (gc('jep-final-jep')) { var fCatSlide = pres.addSlide(); fCatSlide.background = { color: boardBG }; fCatSlide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: '100%', h: '100%', fill: { type: 'solid', color: hdrBG } }); fCatSlide.addText('FINAL JEOPARDY', { x: 0, y: 1.5, w: '100%', h: 1.5, fontSize: 60, bold: true, color: gold, align: 'center', fontFace: 'Arial Black' }); fCatSlide.addText(gameData.finalCat, { x: 0.5, y: 3.4, w: 12.33, h: 1.2, fontSize: 36, color: txtCol, align: 'center', valign: 'middle' });var fClueSlide = pres.addSlide(); fClueSlide.background = { color: boardBG }; fClueSlide.addText('FINAL JEOPARDY: ' + gameData.finalCat, { x: 0, y: 0.1, w: '100%', h: 0.65, fontSize: 20, bold: true, color: gold, align: 'center' }); fClueSlide.addShape(pres.ShapeType.rect, { x: 0.6, y: 0.9, w: 12.13, h: 4.0, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 2 } }); fClueSlide.addText(gameData.finalClue || '(Final Jeopardy clue)', { x: 0.8, y: 1.0, w: 11.73, h: 3.8, fontSize: 28, color: txtCol, align: 'center', valign: 'middle', wrap: true });var fAnsSlide = pres.addSlide(); fAnsSlide.background = { color: boardBG }; fAnsSlide.addText('FINAL JEOPARDY ANSWER', { x: 0, y: 0.1, w: '100%', h: 0.65, fontSize: 20, bold: true, color: gold, align: 'center' }); fAnsSlide.addShape(pres.ShapeType.rect, { x: 0.6, y: 0.9, w: 12.13, h: 3.0, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 2 } }); fAnsSlide.addText(gameData.finalAns || '(Final answer)', { x: 0.8, y: 1.0, w: 11.73, h: 2.8, fontSize: 32, color: gold, align: 'center', valign: 'middle', bold: true, wrap: true }); }/* ---- Scoreboard slide ---- */ var teamNames2 = getTeamNames(); var sbSlide = pres.addSlide(); sbSlide.background = { color: boardBG }; sbSlide.addText('FINAL SCORES', { x: 0, y: 0.3, w: '100%', h: 1.0, fontSize: 48, bold: true, color: gold, align: 'center', fontFace: 'Arial Black' }); var sbCols = teamNames2.length; var sbCW = 12.73 / sbCols; var si2; for (si2 = 0; si2 < sbCols; si2++) { var sbX = 0.3 + si2 * sbCW; sbSlide.addShape(pres.ShapeType.rect, { x: sbX, y: 1.6, w: sbCW - 0.1, h: 4.5, fill: { type: 'solid', color: cellBG }, line: { color: gold, width: 2 } }); sbSlide.addText(teamNames2[si2], { x: sbX, y: 1.7, w: sbCW - 0.1, h: 0.7, fontSize: 16, color: gold, bold: true, align: 'center' }); sbSlide.addText('0', { x: sbX, y: 2.6, w: sbCW - 0.1, h: 2.0, fontSize: 60, color: txtCol, align: 'center', valign: 'middle', fontFace: 'Arial Black' }); }var fname = (gv('jep-game-title') || 'Jeopardy').replace(/[^a-zA-Z0-9 ]/g, '').replace(/ /g, '-'); var suffix = forGSlides ? '-GoogleSlides' : ''; pres.writeFile({ fileName: fname + suffix + '.pptx' }).then(function() { var msg = forGSlides ? 'Downloaded! Go to Google Slides, click File > Import Slides > Upload the .pptx file.' : 'PowerPoint downloaded!'; setStatus(msg); setTimeout(function() { setStatus(''); }, 5000); }).catch(function() { setStatus('Export failed. Try again.', true); }); }/* ============================================================ SETTINGS CHANGE HANDLERS ============================================================ */ function handleSettingsChange() { var numCats = parseInt(gv('jep-num-cats') || '5', 10); var numRows = parseInt(gv('jep-num-rows') || '5', 10); if (numCats !== gameData.numCats || numRows !== gameData.numRows) { gameData.numCats = numCats; gameData.numRows = numRows; initCategories(numCats, numRows); if (gc('jep-daily-double')) { placeDailyDoubles(); } renderCatEditor(); } }/* ============================================================ BIND ALL ============================================================ */ function bindAll() { /* Settings changes rebuild category grid */ var settingIds = ['jep-num-cats', 'jep-num-rows', 'jep-pts-start']; var si; for (si = 0; si < settingIds.length; si++) { (function(sid) { var el = G(sid); if (el) { el.addEventListener('change', function() { handleSettingsChange(); autoSave(); }); } })(settingIds[si]); }/* Teams count changes rebuild team cards */ var numTeamsEl = G('jep-num-teams'); if (numTeamsEl) { numTeamsEl.addEventListener('change', function() { renderTeams(parseInt(this.value, 10)); autoSave(); }); }/* Auto-save on any input change in the game title/teacher/subject fields */ var autoSaveIds = ['jep-game-title','jep-teacher-name','jep-subject','jep-timer','jep-final-cat','jep-final-clue','jep-final-ans']; var ai; for (ai = 0; ai < autoSaveIds.length; ai++) { (function(eid) { var el = G(eid); if (el) { el.addEventListener('input', function() { autoSave(); }); } })(autoSaveIds[ai]); }/* Daily Double toggle */ var ddCheck = G('jep-daily-double'); if (ddCheck) { ddCheck.addEventListener('change', function() { if (this.checked) { placeDailyDoubles(); } else { var ci2, ri2; for (ci2 = 0; ci2 < gameData.categories.length; ci2++) { for (ri2 = 0; ri2 < gameData.categories[ci2].questions.length; ri2++) { gameData.categories[ci2].questions[ri2].dd = false; } } } renderCatEditor(); autoSave(); }); }/* Final Jeopardy panel show/hide */ var fjCheck = G('jep-final-jep'); var fjPanel = G('jep-final-panel'); if (fjCheck) { fjCheck.addEventListener('change', function() { if (fjPanel) { fjPanel.style.display = this.checked ? 'block' : 'none'; } }); }/* Theme chips */ var themeChips = document.querySelectorAll('#jep-app .jep-theme-chip'); var ti2; for (ti2 = 0; ti2 < themeChips.length; ti2++) { (function(chip) { chip.addEventListener('click', function() { var j; for (j = 0; j < themeChips.length; j++) { themeChips[j].classList.remove('jep-theme-on'); } chip.classList.add('jep-theme-on'); selectedTheme = chip.getAttribute('data-theme'); applyThemeCSS(selectedTheme); var customColors = G('jep-custom-colors'); if (customColors) { customColors.style.display = (selectedTheme === 'custom') ? 'block' : 'none'; } autoSave(); }); })(themeChips[ti2]); }/* Custom color inputs */ var customInputs = ['jep-board-color', 'jep-cell-color', 'jep-accent-color']; var ki; for (ki = 0; ki < customInputs.length; ki++) { (function(inputId) { var el = G(inputId); if (el) { el.addEventListener('input', function() { if (selectedTheme === 'custom') { var swatch = G('jep-custom-swatch'); if (swatch) { swatch.style.background = 'linear-gradient(135deg,' + gv('jep-board-color') + ',' + gv('jep-cell-color') + ')'; } THEMES['custom'].board = gv('jep-board-color').replace('#', ''); THEMES['custom'].cell = gv('jep-cell-color').replace('#', ''); THEMES['custom'].accent = gv('jep-accent-color').replace('#', ''); THEMES['custom'].header = gv('jep-board-color').replace('#', ''); THEME_CSS['custom']['--jep-dark'] = gv('jep-board-color'); THEME_CSS['custom']['--jep-mid'] = gv('jep-cell-color'); THEME_CSS['custom']['--jep-light'] = gv('jep-cell-color'); THEME_CSS['custom']['--jep-gold'] = gv('jep-accent-color'); applyThemeCSS('custom'); } }); } })(customInputs[ki]); }/* Preview button */ var bPrev = G('jep-btn-preview'); if (bPrev) { bPrev.addEventListener('click', function() { autoSave(); buildBoard(); }); }/* Fullscreen button */ var bFs = G('jep-fs-btn'); if (bFs) { bFs.addEventListener('click', function() { enterFullscreen(); }); }/* PowerPoint button */ var bPptx = G('jep-btn-pptx'); if (bPptx) { bPptx.addEventListener('click', function() { buildPPTX(false); }); }/* HTML Game download button */ var bHtml = G('jep-btn-html'); if (bHtml) { bHtml.addEventListener('click', function() { buildHTMLGame(); }); }/* Keyboard: Escape closes overlay */ document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { if (portalEl) { portalEl.classList.remove('jep-show'); } if (timerInterval) { clearInterval(timerInterval); timerInterval = null; } if (isFullscreen) { toggleFullscreen(); } } });/* Initialize */ var numCatsInit = parseInt(gv('jep-num-cats') || '5', 10); var numRowsInit = parseInt(gv('jep-num-rows') || '5', 10); var numTeamsInit = parseInt(gv('jep-num-teams') || '6', 10);initCategories(numCatsInit, numRowsInit);/* Try to restore saved game */ var restored = loadSaved(); if (restored) { /* Re-read settings that may have changed */ numCatsInit = parseInt(gv('jep-num-cats') || '5', 10); numRowsInit = parseInt(gv('jep-num-rows') || '5', 10); numTeamsInit = parseInt(gv('jep-num-teams') || '6', 10); setStatus('Previous game restored from auto-save.'); setTimeout(function() { setStatus(''); }, 3000); } else { placeDailyDoubles(); }renderTeams(numTeamsInit); renderCatEditor(); applyThemeCSS('classic'); }if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', bindAll); } else { bindAll(); }})();

Panel 1 — Game Setup: Give your game a title (this appears on the board during play), add your name and subject, then choose how many categories and point rows you want. The standard format is 5 categories with 5 rows (100 through 500 points), but you can go as small as 3 categories and 3 rows for a quick warm-up or as large as 6 categories with 5 rows for a full review. Set a timer per question if you want to keep things moving, and toggle Daily Double and Final Jeopardy on or off.

Panel 2 — Board Theme: Choose from eight color themes — Classic Blue (the authentic Jeopardy navy and gold), Dark Mode, Forest Green, Ocean Blue, Royal Purple, Sunset Red, Slate Gray, or a fully custom theme where you pick every color yourself. The board preview updates live when you switch themes.

Panel 3 — Teams: Select how many teams are playing (2 through 6) and type each team's name. These names appear on the live scoreboard at the bottom of the board during play.

Panel 4 — Categories and Questions: Each category collapses into its own section. Click the header to expand it, type the category name, then fill in a clue and an answer for each point value. The clue is what students see on screen. The answer appears only when the teacher clicks Reveal. Leave any clue blank and that tile shows as empty on the board.

Panel 5 — Final Jeopardy: Enter a category name, a clue, and the correct answer. This round launches from a gold button at the bottom of the live board after all other questions have been played.

How to Play Live in Class

Click Preview and Play and the game board appears on the page. Click the Full Screen button to cover your entire display — this works on every browser and completely fills the screen regardless of the projector or display you are using.

Click any point cell to reveal the question. A full-screen overlay shows the category, point value, and the clue. Use the timer bar (if you set one) to keep teams on pace. When teams answer, click Reveal Answer to show the correct response, then tap the score award button for whichever team answered correctly. Their score updates instantly on the board. Click Mark Used and Close to cross out that cell and return to the board.

When all questions are answered, click Final Jeopardy to launch the final round, then click Declare Winner for the full celebration — confetti, a winner announcement, and a final scoreboard showing every team's score.

Download as a Playable HTML File

The Download Playable Game button generates a complete .html file with every question, answer, sound effect, timer, scoreboard, Final Jeopardy, and the winner celebration built in. Open it in any browser — Chrome, Firefox, Safari, Edge — with no internet connection needed. Save it to your desktop, a USB drive, or Google Drive and it is ready to play any time. Every downloaded game includes a richineducation.com header so students can find more tools.

This is the most useful format for most teachers. Build the game once, download it, and use it every year for that unit. Share it with a colleague. Bring it to a review session on your laptop without worrying about the school Wi-Fi.

Download as PowerPoint

The Download PowerPoint button generates a .pptx file with a title slide, a complete visual game board, individual question and answer slides for every cell, a Final Jeopardy sequence, and a scoreboard slide. Use it if your school projector setup works best with a presentation file, or if you want to edit the slides further in PowerPoint before playing.

Your Game Saves Automatically

Every change you make is saved to your browser automatically. If you close the tab and come back later, your entire game — every question, every category name, your team names, and your theme — restores exactly where you left it.

Write A Comment