{"id":148,"date":"2026-08-12T18:30:21","date_gmt":"2026-08-12T18:30:21","guid":{"rendered":"https:\/\/randomflips.com\/?page_id=148"},"modified":"2026-08-18T05:39:09","modified_gmt":"2026-08-18T05:39:09","slug":"pinball-tournament-bracket","status":"publish","type":"page","link":"https:\/\/randomflips.com\/?page_id=148","title":{"rendered":"Pinball Tournament Bracket"},"content":{"rendered":"\n<div id=\"rf-bracket-app\" class=\"rfb\">\n<style>\n.rfb{--bg:#080614;--panel:#141027;--panel2:#1b1533;--cyan:#00e5ff;--pink:#ff3bd4;--purple:#8a5cff;--text:#f7f5ff;--muted:#b9b3ce;background:var(--bg);color:var(--text);min-height:100vh;font-family:inherit}.rfb *{box-sizing:border-box}.rfb-hero{padding:68px 22px 48px;background:radial-gradient(circle at 80% 15%,rgba(138,92,255,.32),transparent 32%),radial-gradient(circle at 10% 100%,rgba(0,229,255,.18),transparent 35%),#090718;border-bottom:1px solid rgba(0,229,255,.35)}.rfb-wrap{width:min(1240px,100%);margin:auto}.rfb-kicker{color:var(--pink);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.rfb h1{font-size:clamp(2.7rem,7vw,6rem);line-height:.92;letter-spacing:-.05em;text-transform:uppercase;margin:15px 0}.rfb h1 span{color:var(--cyan);text-shadow:0 0 25px rgba(0,229,255,.24)}.rfb-lede{max-width:720px;color:#d5d0e3;font-size:1.12rem;line-height:1.6}.rfb-setup{padding:32px 22px;background:#0e0b1d}.rfb-panel{padding:22px;border:1px solid #352c55;border-radius:18px;background:linear-gradient(145deg,#17112f,#100c22);box-shadow:0 16px 45px rgba(0,0,0,.25)}.rfb-fields{display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:14px}.rfb label{display:grid;gap:7px;color:#d9d5e6;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}.rfb input,.rfb select{width:100%;border:1px solid #493d6a;border-radius:10px;background:#090718;color:#fff;padding:12px 13px;font:inherit}.rfb input:focus,.rfb select:focus{outline:2px solid var(--cyan);border-color:transparent}.rfb-player-title{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:24px 0 12px}.rfb-player-title h2{margin:0;font-size:1.2rem}.rfb-player-title small{color:var(--muted)}.rfb-players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rfb-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.rfb button{border:0;border-radius:999px;padding:12px 18px;background:var(--cyan);color:#070612;font:900 .8rem\/1 inherit;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:.2s}.rfb button:hover{transform:translateY(-2px);box-shadow:0 0 22px rgba(0,229,255,.23)}.rfb button.secondary{background:transparent;color:var(--cyan);border:1px solid var(--cyan)}.rfb button.pink{background:var(--pink)}.rfb button.ghost{background:#241c40;color:#ddd7ee}.rfb-board-section{padding:38px 22px 80px}.rfb-board-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.rfb-board-head h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:0}.rfb-event-meta{color:var(--muted);margin-top:5px}.rfb-board-scroll{overflow-x:auto;padding:4px 4px 24px}.rfb-board{display:grid;gap:26px;min-width:920px}.rfb-round{display:flex;flex-direction:column;justify-content:space-around;gap:16px;min-width:200px}.rfb-round h3{text-align:center;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;margin:0 0 8px}.rfb-match{position:relative;border:1px solid #3a3157;border-radius:13px;background:var(--panel);overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.2)}.rfb-match:after{content:\"\";position:absolute;right:-27px;top:50%;width:27px;height:1px;background:#5d4e83}.rfb-round:last-child .rfb-match:after{display:none}.rfb-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 12px!important;border-radius:0!important;background:transparent!important;color:#eee!important;text-transform:none!important;letter-spacing:0!important;text-align:left;font-weight:750!important}.rfb-slot+.rfb-slot{border-top:1px solid #332a4c!important}.rfb-slot:hover{transform:none!important;box-shadow:none!important;background:rgba(0,229,255,.08)!important}.rfb-slot.winner{background:linear-gradient(90deg,rgba(0,229,255,.18),rgba(138,92,255,.12))!important;color:#fff!important}.rfb-slot.winner:after{content:\"WIN\";color:var(--cyan);font-size:.6rem;letter-spacing:.1em}.rfb-slot:disabled{cursor:default;opacity:.45}.rfb-champion{padding:22px;text-align:center;border:1px solid rgba(255,59,212,.5);border-radius:16px;background:linear-gradient(135deg,rgba(255,59,212,.13),rgba(0,229,255,.08));min-height:104px;display:grid;place-content:center}.rfb-champion strong{display:block;color:var(--pink);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem}.rfb-champion span{font-size:1.35rem;font-weight:900;margin-top:6px}.rfb-help{margin-top:22px;color:var(--muted);font-size:.9rem;line-height:1.55}.rfb-help b{color:var(--cyan)}\n@media(max-width:800px){.rfb-fields{grid-template-columns:1fr}.rfb-players{grid-template-columns:repeat(2,1fr)}.rfb-board-head{align-items:start;flex-direction:column}}\n@media(max-width:480px){.rfb-players{grid-template-columns:1fr}.rfb-hero{padding-top:48px}}\n@media print{header,footer,.wp-block-template-part,#rf-mailing-strip,.rfb-setup,.rfb-actions,.rfb-help,#wpadminbar{display:none!important}.rfb{background:#fff!important;color:#111!important}.rfb-hero{padding:22px!important;background:#fff!important;color:#111!important;border:0!important}.rfb h1{font-size:34px!important;color:#111!important}.rfb h1 span{-webkit-text-stroke:0!important;color:#111!important;text-shadow:none!important}.rfb-lede,.rfb-kicker{display:none}.rfb-board-section{padding:10px 20px!important}.rfb-board-scroll{overflow:visible!important}.rfb-board{min-width:0!important;gap:12px!important}.rfb-round{min-width:0!important;gap:8px!important}.rfb-round h3{color:#111!important}.rfb-match{border-color:#555!important;background:#fff!important;box-shadow:none!important}.rfb-slot{color:#111!important;padding:7px!important}.rfb-slot:disabled{color:transparent!important;text-shadow:none!important}.rfb-champion.pending span{visibility:hidden!important}.rfb-slot.winner{background:#ddd!important}.rfb-champion{border-color:#555!important;background:#eee!important}.rfb-event-meta{color:#333!important}@page{size:landscape;margin:8mm}}\n<\/style>\n<section class=\"rfb-hero\"><div class=\"rfb-wrap\"><div class=\"rfb-kicker\">Random Flips Tournament Tools<\/div><h1>Pinball <span>Bracket Builder<\/span><\/h1><p class=\"rfb-lede\">A simple, reusable single-elimination bracket for home competitions, club nights and small tournaments. Add your players, record winners and download a clean printable copy.<\/p><\/div><\/section>\n<section class=\"rfb-setup\"><div class=\"rfb-wrap\"><div class=\"rfb-panel\">\n<div class=\"rfb-fields\"><label>Tournament name<input id=\"rfb-name\" value=\"Random Flips Home Tournament\" maxlength=\"70\"><\/label><label>Venue \/ location<input id=\"rfb-venue\" placeholder=\"Games room, club or venue\" maxlength=\"60\"><\/label><label>Bracket size<select id=\"rfb-size\"><option value=\"4\">4 players<\/option><option value=\"8\" selected>8 players<\/option><option value=\"16\">16 players<\/option><\/select><\/label><\/div>\n<div class=\"rfb-player-title\"><h2>Player names<\/h2><small>Seed order runs from Player 1 downwards.<\/small><\/div><div id=\"rfb-players\" class=\"rfb-players\"><\/div>\n<div class=\"rfb-actions\"><button id=\"rfb-generate\">Generate bracket<\/button><button id=\"rfb-shuffle\" class=\"secondary\">Shuffle players<\/button><button id=\"rfb-demo\" class=\"ghost\">Add sample names<\/button><\/div>\n<\/div><\/div><\/section>\n<section class=\"rfb-board-section\"><div class=\"rfb-wrap\"><div class=\"rfb-board-head\"><div><h2 id=\"rfb-title\">Random Flips Home Tournament<\/h2><div id=\"rfb-meta\" class=\"rfb-event-meta\">8-player single elimination bracket<\/div><\/div><div class=\"rfb-actions\"><button id=\"rfb-print\" class=\"pink\">Download \/ Print PDF<\/button><button id=\"rfb-reset\" class=\"ghost\">Reset results<\/button><\/div><\/div><div class=\"rfb-board-scroll\"><div id=\"rfb-board\" class=\"rfb-board\"><\/div><\/div><p class=\"rfb-help\"><b>How to use:<\/b> click the winner of each match to advance them. If you make a mistake, click the other player; later rounds affected by that result will be cleared automatically. Use \u201cDownload \/ Print PDF\u201d and choose <em>Save as PDF<\/em> in your browser\u2019s print window.<\/p><\/div><\/section>\n<script>\n(function(){var app=document.getElementById('rf-bracket-app');if(!app)return;var sizeEl=app.querySelector('#rfb-size'),playersEl=app.querySelector('#rfb-players'),boardEl=app.querySelector('#rfb-board'),nameEl=app.querySelector('#rfb-name'),venueEl=app.querySelector('#rfb-venue'),titleEl=app.querySelector('#rfb-title'),metaEl=app.querySelector('#rfb-meta');var state={size:8,names:[],rounds:[],winners:[]};function esc(s){return String(s||'').replace(\/[&<>\"']\/g,function(c){return{'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[c]})}function playerInputs(){var n=+sizeEl.value,old=[].slice.call(playersEl.querySelectorAll('input')).map(function(x){return x.value});playersEl.innerHTML='';for(var i=0;i<n;i++){var l=document.createElement('label');l.innerHTML='Player '+(i+1)+'<input maxlength=\"35\" placeholder=\"Enter player name\" value=\"'+esc(old[i]||'')+'\">';playersEl.appendChild(l)}}function readNames(){var vals=[].slice.call(playersEl.querySelectorAll('input')).map(function(x,i){return x.value.trim()||'Player '+(i+1)});return vals}function pairSeeds(names){var n=names.length,order=n===4?[0,3,1,2]:n===8?[0,7,3,4,1,6,2,5]:[0,15,7,8,3,12,4,11,1,14,6,9,2,13,5,10];return order.map(function(i){return names[i]})}function generate(){state.size=+sizeEl.value;state.names=readNames();state.rounds=[pairSeeds(state.names)];state.winners=[];var count=state.size\/2;while(count>=1){state.winners.push(Array(count).fill(null));if(count>1)state.rounds.push(Array(count).fill(null));count\/=2}titleEl.textContent=nameEl.value.trim()||'Pinball Tournament';metaEl.textContent=(venueEl.value.trim()?venueEl.value.trim()+' \u2022 ':'')+state.size+'-player single elimination bracket';render()}function roundName(i,total){if(i===total-1)return'Final';if(i===total-2)return'Semi-finals';if(i===total-3)return'Quarter-finals';return'Round '+(i+1)}function pick(round,match,slot){var player=state.rounds[round][match*2+slot];if(!player)return;state.winners[round][match]=player;var next=round+1;if(next<state.rounds.length){var at=match;while(next<state.rounds.length){var nextMatch=Math.floor(at\/2),nextSlot=at%2;state.rounds[next][nextMatch*2+nextSlot]=next===round+1?player:null;state.winners[next][nextMatch]=null;at=nextMatch;next++}}render()}function render(){boardEl.innerHTML='';boardEl.style.gridTemplateColumns='repeat('+(state.rounds.length+1)+',minmax(200px,1fr))';state.rounds.forEach(function(round,ri){var col=document.createElement('div');col.className='rfb-round';col.innerHTML='<h3>'+roundName(ri,state.rounds.length)+'<\/h3>';for(var m=0;m<round.length\/2;m++){var match=document.createElement('div');match.className='rfb-match';[0,1].forEach(function(si){var p=round[m*2+si],b=document.createElement('button');b.className='rfb-slot'+(p?state.winners[ri][m]===p?' winner':'':'');b.textContent=p||'Awaiting winner';b.disabled=!p;(function(r,x,s){b.onclick=function(){pick(r,x,s)}})(ri,m,si);match.appendChild(b)});col.appendChild(match)}boardEl.appendChild(col)});var champ=document.createElement('div');champ.className='rfb-round';var last=state.winners[state.winners.length-1][0];champ.innerHTML='<h3>Champion<\/h3><div class=\"rfb-champion'+(last?'':' pending')+'\"><strong>Tournament winner<\/strong><span>'+(last?esc(last):'To be decided')+'<\/span><\/div>';boardEl.appendChild(champ)}sizeEl.onchange=function(){playerInputs();generate()};app.querySelector('#rfb-generate').onclick=generate;app.querySelector('#rfb-shuffle').onclick=function(){var a=readNames();for(var i=a.length-1;i>0;i--){var j=Math.floor(Math.random()*(i+1)),t=a[i];a[i]=a[j];a[j]=t}[].slice.call(playersEl.querySelectorAll('input')).forEach(function(x,i){x.value=a[i]});generate()};app.querySelector('#rfb-demo').onclick=function(){var samples=['Alex','Bailey','Chris','Dana','Elliot','Frankie','Georgie','Harper','Indy','Jordan','Kai','Lee','Morgan','Nico','Ollie','Parker'];[].slice.call(playersEl.querySelectorAll('input')).forEach(function(x,i){x.value=samples[i]});generate()};app.querySelector('#rfb-reset').onclick=function(){generate()};app.querySelector('#rfb-print').onclick=function(){window.print()};nameEl.onchange=generate;venueEl.onchange=generate;playerInputs();generate()})();\n<\/script>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Random Flips Tournament Tools Pinball Bracket Builder A simple, reusable single-elimination bracket for home competitions, club nights and small tournaments. Add your players, record winners and download a clean printable copy. Tournament nameVenue \/ locationBracket size4 players8 players16 players Player names Seed order runs from Player 1 downwards. Generate bracketShuffle playersAdd sample names Random Flips [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-148","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pinball Tournament Bracket - Random Flips<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/randomflips.com\/?page_id=148\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pinball Tournament Bracket - Random Flips\" \/>\n<meta property=\"og:description\" content=\"Random Flips Tournament Tools Pinball Bracket Builder A simple, reusable single-elimination bracket for home competitions, club nights and small tournaments. Add your players, record winners and download a clean printable copy. Tournament nameVenue \/ locationBracket size4 players8 players16 players Player names Seed order runs from Player 1 downwards. Generate bracketShuffle playersAdd sample names Random Flips [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/randomflips.com\/?page_id=148\" \/>\n<meta property=\"og:site_name\" content=\"Random Flips\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-18T05:39:09+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/randomflips.com\\\/?page_id=148\",\"url\":\"https:\\\/\\\/randomflips.com\\\/?page_id=148\",\"name\":\"Pinball Tournament Bracket - Random Flips\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/randomflips.com\\\/#website\"},\"datePublished\":\"2026-08-12T18:30:21+00:00\",\"dateModified\":\"2026-08-18T05:39:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/randomflips.com\\\/?page_id=148#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/randomflips.com\\\/?page_id=148\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/randomflips.com\\\/?page_id=148#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/randomflips.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pinball Tournament Bracket\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/randomflips.com\\\/#website\",\"url\":\"https:\\\/\\\/randomflips.com\\\/\",\"name\":\"Random Flips\",\"description\":\"Everything Pinball: Games, Rules, Tournaments &amp; More\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/randomflips.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pinball Tournament Bracket - Random Flips","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/randomflips.com\/?page_id=148","og_locale":"en_US","og_type":"article","og_title":"Pinball Tournament Bracket - Random Flips","og_description":"Random Flips Tournament Tools Pinball Bracket Builder A simple, reusable single-elimination bracket for home competitions, club nights and small tournaments. Add your players, record winners and download a clean printable copy. Tournament nameVenue \/ locationBracket size4 players8 players16 players Player names Seed order runs from Player 1 downwards. Generate bracketShuffle playersAdd sample names Random Flips [&hellip;]","og_url":"https:\/\/randomflips.com\/?page_id=148","og_site_name":"Random Flips","article_modified_time":"2026-08-18T05:39:09+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/randomflips.com\/?page_id=148","url":"https:\/\/randomflips.com\/?page_id=148","name":"Pinball Tournament Bracket - Random Flips","isPartOf":{"@id":"https:\/\/randomflips.com\/#website"},"datePublished":"2026-08-12T18:30:21+00:00","dateModified":"2026-08-18T05:39:09+00:00","breadcrumb":{"@id":"https:\/\/randomflips.com\/?page_id=148#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/randomflips.com\/?page_id=148"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/randomflips.com\/?page_id=148#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/randomflips.com\/"},{"@type":"ListItem","position":2,"name":"Pinball Tournament Bracket"}]},{"@type":"WebSite","@id":"https:\/\/randomflips.com\/#website","url":"https:\/\/randomflips.com\/","name":"Random Flips","description":"Everything Pinball: Games, Rules, Tournaments &amp; More","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/randomflips.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/pages\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randomflips.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=148"}],"version-history":[{"count":5,"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/pages\/148\/revisions"}],"predecessor-version":[{"id":169,"href":"https:\/\/randomflips.com\/index.php?rest_route=\/wp\/v2\/pages\/148\/revisions\/169"}],"wp:attachment":[{"href":"https:\/\/randomflips.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}