<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://fairgame.is/blog</id>
    <title>FairGame blog</title>
    <updated>2026-09-04T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://fairgame.is/blog"/>
    <subtitle>Guides on tournament scheduling, formats, brackets and running a tournament weekend.</subtitle>
    <icon>https://fairgame.is/docs/img/favicon.ico</icon>
    <rights>Copyright © 2026 FairGame ehf.</rights>
    <entry>
        <title type="html"><![CDATA[What's New: Early September 2026]]></title>
        <id>https://fairgame.is/blog/whats-new-early-september-2026</id>
        <link href="https://fairgame.is/blog/whats-new-early-september-2026"/>
        <updated>2026-09-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Three weeks of FairGame updates: an assistant that proposes changes you approve, a rebuilt knockout bracket, and referees who staff each other.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="A chat message asking FairGame to rename a tournament, followed by an approval card that lists the tournament&amp;#39;s current and proposed name with Accept and Reject buttons" src="https://fairgame.is/assets/images/blog-whats-new-assistant-1dc1ce95808c8036984a267f7a73fb61.webp" title="Ask for a change in plain language. FairGame proposes it as a before-and-after diff before anything is saved." width="1440" height="901" class="img_UFou"></p>
<p>Our last post here was three weeks ago, on August 13th. Three weeks is not long, but FairGame looks different now: the tournament assistant we had been building quietly is ready to use, and a handful of other changes shipped alongside it.</p>
<p>Most of what changed under the hood is fixes and polish you would never notice. This post is about the parts that change what you can actually do: an assistant that acts on your tournament when you ask it to, a knockout bracket rebuilt from scratch, referees who cover for each other without you assigning a single shift, and a registration model that finally separates who signs up from who pays.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="tell-it-what-you-want-changed-it-shows-you-before-doing-it">Tell it what you want changed. It shows you before doing it.<a href="https://fairgame.is/blog/whats-new-early-september-2026#tell-it-what-you-want-changed-it-shows-you-before-doing-it" class="hash-link" aria-label="Direct link to Tell it what you want changed. It shows you before doing it." title="Direct link to Tell it what you want changed. It shows you before doing it." translate="no">​</a></h2>
<p>FairGame now has a chat assistant docked in the corner of every screen in the admin app. Ask it, in plain language, to enter a score, build a knockout bracket, register a team or change a setting, and it does the work — but it doesn't touch your tournament until you say so.</p>
<p>Every change it wants to make comes back first as a card: the field, its current value, and what the assistant proposes instead, side by side. Accept applies it, reject discards it, and there's nothing in between. Ask for something bigger, like adding eight teams at once, and the eight proposals come back together, each with its own accept or reject, so approving one doesn't force you to approve the rest.</p>
<p>It already covers brackets, live scoring, registration and tournament settings, and every accepted change links straight back to the page it touched. If something fails partway through, you get the failure and a retry button, not a spinner that never resolves. It's running against our own tournaments today, and we're bringing it to customers next.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-bracket-got-rebuilt-not-just-redecorated">The bracket got rebuilt, not just redecorated<a href="https://fairgame.is/blog/whats-new-early-september-2026#the-bracket-got-rebuilt-not-just-redecorated" class="hash-link" aria-label="Direct link to The bracket got rebuilt, not just redecorated" title="Direct link to The bracket got rebuilt, not just redecorated" translate="no">​</a></h2>
<p>Knockout stages now render as an actual bracket: teams connected match to match by lines running through to the final and the third-place game, so you can see the whole shape of finals day at a glance instead of scrolling a stack of rounds.</p>
<p>Underneath that, there are more ways to run one. Single elimination still means lose once and you're out, with a third-place game alongside it. Full placement plays every team to its exact finishing position instead of sending anyone home early. Double elimination gives every team a second life in a losers' bracket, whose winner meets the unbeaten side in the final. Repechage — judo's shape — lets the teams knocked out by the semi-finalists fight back for two bronze medals. Rank-pair finals runs one final per rank across two equal-size groups, so A1 plays B1 and A2 plays B2, with every team getting exactly one knockout match. For a level final, you can now let it stand as a draw, send it to penalties, or hand the higher place to whoever had the better group-stage record.</p>
<p>The bracket also knows what a slot means before it's decided. A semi-final's opponent shows as “Winner of QF2” the moment the quarter-final is drawn, instead of a blank cell, so you can schedule it, assign a pitch and staff a referee before a ball is kicked in the earlier round. You can advance a winner into the next round by hand, and undo it if you get it wrong.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s knockout builder showing five bracket-shape options — single elimination, full placement, double elimination, repechage and rank-pair finals — beside a live semi-final, final and third-place bracket with a champion already decided" src="https://fairgame.is/assets/images/blog-whats-new-knockout-formats-b5dbaa9f770ab22484db08b3f5faef98.webp" title="New bracket shapes sit next to the rebuilt bracket view, which now renders as a real connected graph." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="referees-who-cover-for-each-other-staffed-automatically">Referees who cover for each other, staffed automatically<a href="https://fairgame.is/blog/whats-new-early-september-2026#referees-who-cover-for-each-other-staffed-automatically" class="hash-link" aria-label="Direct link to Referees who cover for each other, staffed automatically" title="Direct link to Referees who cover for each other, staffed automatically" translate="no">​</a></h2>
<p>Most FairGame tournaments don't hire officials — the competing teams referee each other's matches. Auto-assign now respects that properly: it only offers a team a duty inside the hours it told you it's available, and it never books a team to referee its own kickoff.</p>
<p>Two rest rules keep the same team from running itself ragged. One is the familiar gap around a team's own matches; the other sits after every refereeing duty, separate from that, so a team that just finished whistling a match gets a breather before its own next game or its next duty. Auto-assign also spreads the load across the roster on purpose, so the same team doesn't end up refereeing two matches back to back just because it happened to be free both times.</p>
<p>Because knockout fixtures carry their placeholder opponents from the moment they're drawn, duties can be staffed for a semi-final before the quarter-finals that feed it are even played.</p>
<p><img decoding="async" loading="lazy" alt="The referee coverage grid after auto-staffing three teams as match officials — one hundred percent slot coverage, zero open slots, and each pitch-hour cell labeled with the refereeing team&amp;#39;s initials" src="https://fairgame.is/assets/images/blog-whats-new-referee-coverage-96afaf482c4b1cc2e826eef66944743b.webp" title="Auto-staff assigns teams to referee each other&amp;#39;s matches, respecting rest and availability, until every slot is covered." width="1440" height="573" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="clearer-about-who-registers-and-who-pays">Clearer about who registers, and who pays<a href="https://fairgame.is/blog/whats-new-early-september-2026#clearer-about-who-registers-and-who-pays" class="hash-link" aria-label="Direct link to Clearer about who registers, and who pays" title="Direct link to Clearer about who registers, and who pays" translate="no">​</a></h2>
<p>Registration settings now ask two separate questions that used to get tangled into one: who registers and pays — you, the visiting clubs, or the participants themselves — and what one competitor actually is: a club's team, a team with no club, a pair, or a single person. A youth football cup and an adult padel night need different answers to both, and FairGame no longer makes you bend one setting to cover both cases.</p>
<p>Where a tournament does collect fees, you can now charge once per entrant or split it per roster member, and choose whether the organizer or the payer absorbs FairGame Payments' own cut. Each competitor gets its own roster join link, so a five-a-side team can have each player pay their own share instead of one person fronting the whole entry fee.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s registration settings showing who registers and who pays — organizer, clubs or participants — and what one competitor is — a club&amp;#39;s team, a team with no club, a pair or one person" src="https://fairgame.is/assets/images/blog-whats-new-registration-1b1a0c42e76522ab87cfa4d0a27e3015.webp" title="Two choices that used to get tangled together: who registers and pays, and what counts as one entrant." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-public-side-now-looks-like-one-product">The public side now looks like one product<a href="https://fairgame.is/blog/whats-new-early-september-2026#the-public-side-now-looks-like-one-product" class="hash-link" aria-label="Direct link to The public side now looks like one product" title="Direct link to The public side now looks like one product" translate="no">​</a></h2>
<p>The results portal and the marketing site now share one header, with the same navigation carrying a visitor from reading about FairGame straight into a live tournament. Small as that sounds, it's the difference between the results portal feeling like a different product wearing FairGame's name and feeling like FairGame.</p>
<p>Match pages show the running minute while a game is live, not just a score. A team's own page now leads with whatever match that team is playing right now, if any, instead of making you dig for it. Cards on the Live tab show which category is playing, not just who. And if you're following a team, its group now sits at the top of the standings table instead of wherever alphabetical order happens to put it.</p>
<p><img decoding="async" loading="lazy" alt="A live match page under FairGame&amp;#39;s unified dark header, showing Stjarnan 9 leading Víkingur 6 with a LIVE badge and the elapsed match minute" src="https://fairgame.is/assets/images/blog-whats-new-live-match-de08a35b2589cbac4235871cd35777cf.webp" title="The results portal now shares one header with the marketing site, and match pages show the live minute as it happens." width="1440" height="837" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="smaller-things-that-add-up">Smaller things that add up<a href="https://fairgame.is/blog/whats-new-early-september-2026#smaller-things-that-add-up" class="hash-link" aria-label="Direct link to Smaller things that add up" title="Direct link to Smaller things that add up" translate="no">​</a></h2>
<ul>
<li class="">Ice hockey joins the sport roster, with IIHF's own scoring (3-2-1-0) and tiebreaker order built in, not football's rules relabeled.</li>
<li class="">FairGame now speaks Danish, and a full accuracy pass fixed copy issues across German, French, Italian, Spanish, Finnish and Icelandic.</li>
<li class="">Knockout fixtures can be published before the group stage finishes, so finals day is on the schedule from day one instead of appearing once qualification is decided.</li>
<li class="">A Content-Security-Policy is now live, in report-only mode, across the admin app, the results portal and this site — the first step toward blocking the kind of injected script that policy exists to catch.</li>
<li class="">If you missed it: we published a free, no-signup round-robin and knockout generator that runs entirely in your browser — useful on its own, and it explains the seeding and scheduling logic FairGame runs on top of.</li>
</ul>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-and-knockout-generator">Free round-robin and knockout generator</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="whats-next">What's next<a href="https://fairgame.is/blog/whats-new-early-september-2026#whats-next" class="hash-link" aria-label="Direct link to What's next" title="Direct link to What's next" translate="no">​</a></h2>
<p>Two threads run through everything above: work that used to be yours alone — refereeing, entering scores, building a bracket — increasingly gets done for you or by someone else on the roster, and the parts of the product that show a bracket, a live score or a registration form are converging on one consistent shape instead of three apps that happen to share a login.</p>
<p>Both continue. If you've tried the assistant and it almost did what you needed but not quite, or you run a format the bracket builder still can't express, we'd rather hear about it than guess — write to us at <a href="mailto:info@fairgame.is" target="_blank" rel="noopener noreferrer" class="">info@fairgame.is</a>.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Product" term="Product"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Free Round-Robin and Knockout Generator]]></title>
        <id>https://fairgame.is/blog/round-robin-and-knockout-generator</id>
        <link href="https://fairgame.is/blog/round-robin-and-knockout-generator"/>
        <updated>2026-08-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Generate a round-robin fixture list or a seeded knockout bracket in seconds — free, in your browser, no signup. Byes, seeding and home-and-away included.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="The interactive tournament generator with eight Icelandic clubs entered — the team list and seeding on the left, the generated round-robin schedule updating live on the right, with the knockout bracket one toggle away" src="https://fairgame.is/assets/images/blog-tournament-generator-ac0d516e3d0de9d7a97d66ebfd55b3b0.webp" title="The generator in this page: type your teams on the left, get the full fixture list on the right." width="750" height="700" class="img_UFou"></p>
<p>Type in your teams and get a complete fixture list on the spot: a round-robin schedule where every team plays every other team, or a seeded knockout bracket ready for a finals day. It runs right here in the page — free, no signup, nothing to install.</p>
<p>Below the generator you will find a short explanation of how the fixtures are built, so you can defend the draw when a coach questions it.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="generate-your-fixtures">Generate your fixtures<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#generate-your-fixtures" class="hash-link" aria-label="Direct link to Generate your fixtures" title="Direct link to Generate your fixtures" translate="no">​</a></h2>
<p>Add one team per line, pick a format, and the schedule updates as you type. Shuffle the order to randomize the draw, switch on home-and-away for a double round-robin, and copy the finished fixture list straight into a message to your coaches.</p>
<section class="generator_eJdJ" aria-label="Tournament generator"><div class="controls_Kjdc"><label class="label_My0R" for="_R_9ildeh_">Your teams</label><textarea id="_R_9ildeh_" class="teams__Acq" rows="10">KR Reykjavík
Valur
Breiðablik
Stjarnan
ÍA Akranes
Þróttur
FH Hafnarfjörður
Víkingur</textarea><p class="hint_pvYw">One team per line. The list order is the seeding — the first team is the top seed in the knockout bracket.</p><div class="actions_cFD_"><button type="button" class="button_hGht">Shuffle order</button><button type="button" class="button_hGht">Reset</button></div></div><div class="output_PyH_"><fieldset class="modes_NPsZ" aria-label="Format"><button type="button" class="mode_vjG9 modeActive_X1Cp" aria-pressed="true">Round-robin schedule</button><button type="button" class="mode_vjG9" aria-pressed="false">Knockout bracket</button></fieldset><label class="toggle_wZ0r"><input type="checkbox"><span>Double round-robin (home and away)</span></label><div class="summaryRow_RxMq"><p class="summary_qvIw">8 teams · 28 matches · 7 rounds</p><button type="button" class="button_hGht">Copy schedule</button></div><div class="rounds_csBW"><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 1</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">KR Reykjavík</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Víkingur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">FH Hafnarfjörður</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Þróttur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">ÍA Akranes</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Stjarnan</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 2</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">FH Hafnarfjörður</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">KR Reykjavík</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Þróttur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">ÍA Akranes</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Stjarnan</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 3</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">KR Reykjavík</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Þróttur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">ÍA Akranes</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">FH Hafnarfjörður</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Stjarnan</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 4</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">ÍA Akranes</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">KR Reykjavík</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Þróttur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Stjarnan</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">FH Hafnarfjörður</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 5</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">KR Reykjavík</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Stjarnan</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">ÍA Akranes</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Þróttur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">FH Hafnarfjörður</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 6</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Breiðablik</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">KR Reykjavík</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Stjarnan</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">ÍA Akranes</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Þróttur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">FH Hafnarfjörður</span></li></ul></section><section class="round_bGcG"><h4 class="roundTitle_L3Hb">Round 7</h4><ul class="fixtures_s3Tg"><li class="fixture_XL_P"><span class="fixtureTeam_yI69">KR Reykjavík</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Valur</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Víkingur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">Breiðablik</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Stjarnan</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">FH Hafnarfjörður</span></li><li class="fixture_XL_P"><span class="fixtureTeam_yI69">Þróttur</span><span class="fixtureVs_MIaW" aria-hidden="true">—</span><span class="fixtureTeam_yI69 fixtureTeamAway_UeUO">ÍA Akranes</span></li></ul></section></div></div></section>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="how-the-round-robin-schedule-is-built">How the round-robin schedule is built<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#how-the-round-robin-schedule-is-built" class="hash-link" aria-label="Direct link to How the round-robin schedule is built" title="Direct link to How the round-robin schedule is built" translate="no">​</a></h2>
<p>The generator uses the circle method, the standard algorithm for round-robin scheduling. Imagine the teams standing in a circle: one team stays fixed while everyone else rotates one place after each round, and the teams facing each other across the circle play that round. For n teams this produces n − 1 rounds with every pairing occurring exactly once, and no team playing twice in the same round.</p>
<p>With an odd number of teams, a phantom seat — the bye — joins the circle. Whoever draws the bye sits that round out, and the rotation guarantees every team rests exactly once. Home and away is alternated from round to round, and the double round-robin option adds a second leg with every fixture reversed.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-tournament-scheduling">How to schedule a round-robin tournament</a></li>
<li class=""><a class="" href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel">Building a round-robin schedule in Excel (and where it breaks)</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="how-the-knockout-bracket-is-seeded">How the knockout bracket is seeded<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#how-the-knockout-bracket-is-seeded" class="hash-link" aria-label="Direct link to How the knockout bracket is seeded" title="Direct link to How the knockout bracket is seeded" translate="no">​</a></h2>
<p>The order of your team list is the seeding: the first team is the top seed, the last is the bottom seed. The bracket uses standard tournament placement — seed 1 plays the lowest seed, seed 2 anchors the opposite half, and so on — so the two strongest teams can only meet in the final and the early rounds are not decided by an unlucky draw. Prefer a blind draw? Shuffle the order first.</p>
<p>When the number of teams is not a power of two, the bracket is filled with byes, and those free passes go to the top seeds — exactly how professional tournaments handle it. A team with a bye skips the first round and appears directly in the next one.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/tournament-bracket-generator-seeding">Bracket seeding, explained properly</a></li>
<li class=""><a class="" href="https://fairgame.is/blog/what-are-knockout-rounds">What are knockout rounds?</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="from-fixture-list-to-real-schedule">From fixture list to real schedule<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#from-fixture-list-to-real-schedule" class="hash-link" aria-label="Direct link to From fixture list to real schedule" title="Direct link to From fixture list to real schedule" translate="no">​</a></h2>
<p>A fixture list answers who plays whom — but a real tournament also needs to answer when and where. The moment you assign kick-off times, pitches and referees, new failure modes appear: two matches on the same pitch at once, a team double-booked across pitches, no rest between games, a club refereeing its own match.</p>
<p>That is the part FairGame automates. Import your teams, set your pitches and hours, and it solves the whole schedule in seconds — round-robin groups, seeded knockout brackets, live standings and public results included. The generator above gives you the fixtures; FairGame runs the tournament.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-vs-knockout-format">Round-robin vs knockout: which format to pick</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-does-a-round-robin-tournament-have">How many matches does a round-robin tournament have?<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#how-many-matches-does-a-round-robin-tournament-have" class="hash-link" aria-label="Direct link to How many matches does a round-robin tournament have?" title="Direct link to How many matches does a round-robin tournament have?" translate="no">​</a></h3>
<p>n × (n − 1) ÷ 2 for a single round-robin, where n is the number of teams: 6 teams play 15 matches, 8 teams play 28, 12 teams play 66. A double round-robin (home and away) doubles that. The generator shows the total for your team count as you type.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-do-byes-work-with-an-odd-number-of-teams">How do byes work with an odd number of teams?<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#how-do-byes-work-with-an-odd-number-of-teams" class="hash-link" aria-label="Direct link to How do byes work with an odd number of teams?" title="Direct link to How do byes work with an odd number of teams?" translate="no">​</a></h3>
<p>A phantom opponent — the bye — is added to make the numbers even. Whoever is drawn against the bye rests that round. Over the whole round-robin every team gets exactly one bye, so nobody plays more matches than anyone else.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-is-the-knockout-bracket-seeded">How is the knockout bracket seeded?<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#how-is-the-knockout-bracket-seeded" class="hash-link" aria-label="Direct link to How is the knockout bracket seeded?" title="Direct link to How is the knockout bracket seeded?" translate="no">​</a></h3>
<p>By your list order: the first team is seed 1. Pairings follow standard bracket placement, so seed 1 meets the lowest seed first and the top two seeds cannot meet before the final. If the field is not a power of two, the byes go to the highest seeds. Use the shuffle button for a random draw instead.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="can-i-generate-home-and-away-fixtures">Can I generate home-and-away fixtures?<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#can-i-generate-home-and-away-fixtures" class="hash-link" aria-label="Direct link to Can I generate home-and-away fixtures?" title="Direct link to Can I generate home-and-away fixtures?" translate="no">​</a></h3>
<p>Yes — switch on the double round-robin option. The second half of the schedule repeats every fixture with home and away reversed, which is the standard league format.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="is-this-tournament-generator-really-free">Is this tournament generator really free?<a href="https://fairgame.is/blog/round-robin-and-knockout-generator#is-this-tournament-generator-really-free" class="hash-link" aria-label="Direct link to Is this tournament generator really free?" title="Direct link to Is this tournament generator really free?" translate="no">​</a></h3>
<p>Yes. It runs entirely in your browser with no signup and no limits that matter in practice (up to 64 teams). When you need kick-off times, pitches, referees, live scores and published results on top of the fixtures, that is what FairGame itself does — free for small tournaments.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Tools" term="Tools"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Create a Round Robin Schedule in Excel]]></title>
        <id>https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel</id>
        <link href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Build a round-robin schedule in Excel: the circle method, the INDEX/MOD rotation formula, odd team counts, and where a spreadsheet stops being enough.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="A round-robin fixture list laid out across every pitch and time slot, the finished result a spreadsheet is usually used to plan" src="https://fairgame.is/assets/images/blog-schedule-grid-f9812eef02c53f498eb11e553ce88c11.webp" title="The goal: every team plays every other team once, placed across pitches and time slots without a clash." width="1440" height="900" class="img_UFou"></p>
<p>To build a round-robin schedule in Excel, list your teams in one column, keep the first team fixed, and rotate the rest one position each round — this is the circle method, and it guarantees every team plays every other exactly once in n − 1 rounds.</p>
<p>Below is the manual layout, the formula that does the rotating for you, and the point at which a spreadsheet stops being the right tool.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="step-1-work-out-how-many-matches-and-rounds-you-need">Step 1: work out how many matches and rounds you need<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#step-1-work-out-how-many-matches-and-rounds-you-need" class="hash-link" aria-label="Direct link to Step 1: work out how many matches and rounds you need" title="Direct link to Step 1: work out how many matches and rounds you need" translate="no">​</a></h2>
<p>Before laying anything out, get the size of the problem. A single round-robin with n teams has n × (n − 1) ÷ 2 matches. Eight teams is 28 matches; twelve is 66. Double it for home-and-away.</p>
<p>Rounds are different from matches. A round is a set of matches that can all be played at the same time because no team appears twice. With an even number of teams you need n − 1 rounds, each containing n ÷ 2 matches. Eight teams means 7 rounds of 4 matches.</p>
<ul>
<li class="">4 teams: 6 matches, 3 rounds of 2</li>
<li class="">5 teams: 10 matches, 5 rounds of 2 (odd count — one team byes each round)</li>
<li class="">6 teams: 15 matches, 5 rounds of 3</li>
<li class="">7 teams: 21 matches, 7 rounds of 3 (odd count — one team byes each round)</li>
<li class="">8 teams: 28 matches, 7 rounds of 4</li>
<li class="">9 teams: 36 matches, 9 rounds of 4 (odd count — one team byes each round)</li>
<li class="">10 teams: 45 matches, 9 rounds of 5</li>
<li class="">12 teams: 66 matches, 11 rounds of 6</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="step-2-lay-out-the-circle-method-by-hand">Step 2: lay out the circle method by hand<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#step-2-lay-out-the-circle-method-by-hand" class="hash-link" aria-label="Direct link to Step 2: lay out the circle method by hand" title="Direct link to Step 2: lay out the circle method by hand" translate="no">​</a></h2>
<p>The circle method is the reliable way to generate the pairings. Write your teams in two rows — the first half left to right on the top row, the second half right to left on the bottom row. Each column is a match.</p>
<p>With 8 teams, round 1 looks like this: the top row reads 1, 2, 3, 4 and the bottom row reads 8, 7, 6, 5. So the matches are 1 v 8, 2 v 7, 3 v 6, 4 v 5.</p>
<p>Now hold team 1 in place and rotate every other team one position clockwise around it. Team 2 moves to where 3 was, 8 moves up into team 2's old slot, and so on. Read off the new columns and you have round 2. Repeat until you have done n − 1 rounds, and every pair will have met exactly once.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="step-3-the-excel-formula-that-rotates-for-you">Step 3: the Excel formula that rotates for you<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#step-3-the-excel-formula-that-rotates-for-you" class="hash-link" aria-label="Direct link to Step 3: the Excel formula that rotates for you" title="Direct link to Step 3: the Excel formula that rotates for you" translate="no">​</a></h2>
<p>If you would rather the sheet did the rotating, put your teams in A2<!-- -->:A9<!-- --> (eight teams). A2 is the fixed team; A3<!-- -->:A9<!-- --> are the seven that rotate.</p>
<p>Lay out a grid with one row per round and one column per match. For a round numbered R, let r = R − 1. The first match of each round always involves the fixed team:</p>
<ul>
<li class="">Match 1 home: =$A$2</li>
<li class="">Match 1 away: =INDEX($A$3:$A$9, MOD(r, 7) + 1)</li>
<li class="">Match k+1 home (k = 1, 2, 3): =INDEX($A$3:$A$9, MOD(r + k, 7) + 1)</li>
<li class="">Match k+1 away (k = 1, 2, 3): =INDEX($A$3:$A$9, MOD(r - k + 7, 7) + 1)</li>
</ul>
<hr>
<p>Round 1 comes out as 1 v 2, 3 v 8, 4 v 7, 5 v 6. Round 2 as 1 v 3, 4 v 2, 5 v 8, 6 v 7. Every team appears exactly once per round, and no pair repeats.</p>
<p>Those pairings are not the same as the hand-drawn round 1 in step 2, because the formula starts the rotation from a different position on the circle. Both are complete, valid round-robins — a round-robin has many correct orderings, and what matters is that every pair meets exactly once. Pick one method and stay with it rather than cross-checking one against the other.</p>
<p>To adapt it to a different field size, replace the two 7s with n − 1 and the range with your own. The + 7 in the away formula is there only to keep the result positive before MOD — it must match n − 1 as well.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="step-4-handle-an-odd-number-of-teams-with-a-bye">Step 4: handle an odd number of teams with a bye<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#step-4-handle-an-odd-number-of-teams-with-a-bye" class="hash-link" aria-label="Direct link to Step 4: handle an odd number of teams with a bye" title="Direct link to Step 4: handle an odd number of teams with a bye" translate="no">​</a></h2>
<p>The circle method needs an even count. With an odd number of teams, add a phantom entry called “Bye” to round the field up. Whoever is drawn against the bye sits that round out.</p>
<p>Seven real teams become eight entries, so you get 7 rounds instead of 6, and each team rests exactly once. Just remember to filter the bye rows out before you publish anything, or a coach will turn up to play nobody.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="where-the-spreadsheet-stops-helping">Where the spreadsheet stops helping<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#where-the-spreadsheet-stops-helping" class="hash-link" aria-label="Direct link to Where the spreadsheet stops helping" title="Direct link to Where the spreadsheet stops helping" translate="no">​</a></h2>
<p>Everything above solves who plays whom. It does not solve when and where they play, and that is the part that actually eats an organizer's week.</p>
<p>The moment you assign your rounds to real pitches and real kickoff times, a new set of rules appears, and Excel has no idea about any of them:</p>
<ul>
<li class="">Two matches landing on the same pitch at the same time</li>
<li class="">A team scheduled on two pitches in the same slot</li>
<li class="">A team finishing on one pitch and expected on another minutes later</li>
<li class="">Teams that travel and cannot start before a certain hour</li>
<li class="">A referee asked to officiate a match their own team is playing</li>
<li class="">Age groups that have to be finished and home by early afternoon</li>
</ul>
<p><img decoding="async" loading="lazy" alt="A match list with every fixture&amp;#39;s time, pitch, group and score in one table — the view organizers otherwise maintain by hand in a spreadsheet" src="https://fairgame.is/assets/images/blog-match-list-71bfc28c142f8d8095b8873ac0b64088.webp" width="1440" height="900" class="img_UFou"></p>
<hr>
<p>You can patch some of this with conditional formatting and a lot of care. What you cannot do in a spreadsheet is re-solve it. When a team drops out on the Thursday, or rain takes a pitch offline on the morning, the rotation you carefully built no longer fits and every downstream cell has to be redone by hand.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-faster-way-let-a-solver-place-the-fixtures">The faster way: let a solver place the fixtures<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#the-faster-way-let-a-solver-place-the-fixtures" class="hash-link" aria-label="Direct link to The faster way: let a solver place the fixtures" title="Direct link to The faster way: let a solver place the fixtures" translate="no">​</a></h2>
<p>Each of those rules is a constraint, and constraints are exactly what scheduling software exists to satisfy. FairGame takes your teams, pitches and available hours and returns a complete round-robin — every fixture placed, no clashes, rest respected, referees never double-booked — in seconds rather than evenings.</p>
<p>You write the rules once, as hard requirements or soft preferences, and if the day genuinely cannot fit, it tells you why and what to change instead of quietly dropping matches. When a team withdraws, it reschedules the affected fixtures rather than making you start over.</p>
<p><img decoding="async" loading="lazy" alt="The auto-schedule dialog running the solver to place every group-stage match across both tournament days in a single solve" src="https://fairgame.is/assets/images/blog-auto-schedule-5cf7e8086c9b9ebcb4773c489d4224a5.webp" title="One solve places the whole fixture list — respecting rest, pitch availability and referee assignments." width="1440" height="900" class="img_UFou"></p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a href="https://fairgame.is/examples" target="_blank" rel="noopener noreferrer" class="">See example tournaments built this way</a></li>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-vs-knockout-format">Round-robin vs. knockout: choosing a format</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-are-in-a-round-robin-with-8-teams">How many matches are in a round robin with 8 teams?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#how-many-matches-are-in-a-round-robin-with-8-teams" class="hash-link" aria-label="Direct link to How many matches are in a round robin with 8 teams?" title="Direct link to How many matches are in a round robin with 8 teams?" translate="no">​</a></h3>
<p>28 matches. The formula is n × (n − 1) ÷ 2, so 8 × 7 ÷ 2 = 28. Those 28 matches are played across 7 rounds of 4 simultaneous matches. A home-and-away double round-robin doubles it to 56.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-for-other-team-counts">How many matches for other team counts?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#how-many-matches-for-other-team-counts" class="hash-link" aria-label="Direct link to How many matches for other team counts?" title="Direct link to How many matches for other team counts?" translate="no">​</a></h3>
<p>Same formula, n × (n − 1) ÷ 2, for any team count: 4 teams is 6 matches, 5 is 10, 6 is 15, 7 is 21, 9 is 36, 10 is 45, 12 is 66. With an odd number of teams the match count is the same as the formula gives, but you need n rounds instead of n − 1, because a bye rotates through each round instead of a match.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="does-excel-have-a-round-robin-template">Does Excel have a round robin template?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#does-excel-have-a-round-robin-template" class="hash-link" aria-label="Direct link to Does Excel have a round robin template?" title="Direct link to Does Excel have a round robin template?" translate="no">​</a></h3>
<p>Excel ships no official round-robin generator. Community templates exist, but most hard-code a single team count, so changing the number of teams breaks the layout. Building it yourself with the circle method and an INDEX/MOD formula is more reliable, because you can resize it by changing one number.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-do-you-handle-an-odd-number-of-teams-in-a-round-robin">How do you handle an odd number of teams in a round robin?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#how-do-you-handle-an-odd-number-of-teams-in-a-round-robin" class="hash-link" aria-label="Direct link to How do you handle an odd number of teams in a round robin?" title="Direct link to How do you handle an odd number of teams in a round robin?" translate="no">​</a></h3>
<p>Add a phantom team called a bye so the field is even. Whoever is drawn against the bye rests that round. An odd field of n teams gives n rounds instead of n − 1, and every team gets exactly one bye across the tournament.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-is-the-circle-method">What is the circle method?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#what-is-the-circle-method" class="hash-link" aria-label="Direct link to What is the circle method?" title="Direct link to What is the circle method?" translate="no">​</a></h3>
<p>A way of generating round-robin pairings by fixing one team in position and rotating all the others around it one place per round. Teams facing each other across the circle play that round. For an even field it produces a perfect schedule in n − 1 rounds with no repeated fixtures.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="can-excel-schedule-matches-onto-pitches-and-times">Can Excel schedule matches onto pitches and times?<a href="https://fairgame.is/blog/how-to-create-a-round-robin-schedule-in-excel#can-excel-schedule-matches-onto-pitches-and-times" class="hash-link" aria-label="Direct link to Can Excel schedule matches onto pitches and times?" title="Direct link to Can Excel schedule matches onto pitches and times?" translate="no">​</a></h3>
<p>Not on its own. Excel can generate the pairings, but it has no concept of pitch availability, rest between matches, travel windows or referee conflicts, and it cannot re-solve the schedule when something changes. That is the point where organizers move to dedicated scheduling software.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Guides" term="Guides"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Schedule a Multi-Venue Tournament]]></title>
        <id>https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament</id>
        <link href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Schedule a tournament across venues: travel time between sites, pitch capacity, rest between matches — and what to do when the day will not fit.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="An auto-schedule dialog running the solver to place every group-stage match across both tournament days in a single solve" src="https://fairgame.is/assets/images/blog-auto-schedule-5cf7e8086c9b9ebcb4773c489d4224a5.webp" title="Across several venues, placing fixtures by hand stops being practical well before the field gets large." width="1440" height="900" class="img_UFou"></p>
<p>To schedule a tournament across multiple venues, first check the day fits at all — total pitch-minutes available against match-minutes required — then place fixtures so no team is ever booked in two places at once, and never expects a team to cross town between back-to-back matches.</p>
<p>The hard part is not the fixture list. It is the travel, the rest, and the fact that every constraint interacts with every other one.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="start-with-capacity-not-the-fixture-list">Start with capacity, not the fixture list<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#start-with-capacity-not-the-fixture-list" class="hash-link" aria-label="Direct link to Start with capacity, not the fixture list" title="Direct link to Start with capacity, not the fixture list" translate="no">​</a></h2>
<p>The single most common failure is discovering on the Thursday that the day was never going to fit. Do the arithmetic first.</p>
<p>Add up your pitch-minutes: each pitch multiplied by the hours it is open. Then add up your match-minutes: total matches multiplied by match duration plus changeover. If the second number is anywhere near the first, you are already in trouble — you need slack for overruns.</p>
<p>A worked example. Twelve pitches open from 09:00 to 17:00 is 12 × 8 × 60 = 5,760 pitch-minutes. Three hundred matches at 25 minutes plus a 5-minute changeover is 300 × 30 = 9,000 match-minutes. That day does not fit, and no amount of clever placement will make it. You need more pitches, longer hours, shorter matches, or another day.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="travel-time-between-venues-is-a-hard-constraint">Travel time between venues is a hard constraint<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#travel-time-between-venues-is-a-hard-constraint" class="hash-link" aria-label="Direct link to Travel time between venues is a hard constraint" title="Direct link to Travel time between venues is a hard constraint" translate="no">​</a></h2>
<p>On a single site, the gap between a team's matches only has to cover rest and walking. Across two sites, it has to cover the journey — and for youth tournaments that means the journey as actually made, with children, kit and a coach counting heads, not the drive time a map gives you.</p>
<p>The safest approach is to avoid the problem: keep each age group or category at one venue for the whole day wherever you can. Parents know where to be, teams do not move, and the schedule gets dramatically simpler.</p>
<p>Where a category genuinely has to span venues, treat the transfer as a constraint the schedule must respect, not as something coaches will absorb. If it takes 30 minutes to move between sites, no team can be scheduled at the second site within 30 minutes of finishing at the first — plus their normal rest on top.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-rules-that-actually-constrain-a-multi-venue-day">The rules that actually constrain a multi-venue day<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#the-rules-that-actually-constrain-a-multi-venue-day" class="hash-link" aria-label="Direct link to The rules that actually constrain a multi-venue day" title="Direct link to The rules that actually constrain a multi-venue day" translate="no">​</a></h2>
<p>Once you are placing fixtures across several sites, the list of things that must hold gets long. These are the ones organizers hit in practice:</p>
<ul>
<li class="">Rest between matches — a minimum gap so teams are not playing back to back</li>
<li class="">Travel windows — the transfer time between any two venues a team is scheduled at</li>
<li class="">Arrival times — teams travelling from far away that cannot start before a given hour</li>
<li class="">Departure ceilings — the youngest age groups that have to be finished by early afternoon</li>
<li class="">Pitch open hours — sites that do not all open and close at the same time</li>
<li class="">Category-to-pitch limits — small-sided age groups that can only use certain pitches</li>
<li class="">Maximum matches per team per day — a cap so nobody plays six games</li>
<li class="">Referee coverage — an official on every pitch for every hour it is in use</li>
<li class="">Simultaneous final rounds — last group matches kicking off together so nobody can play for a result</li>
</ul>
<p><img decoding="async" loading="lazy" alt="A scheduling constraints panel listing a break window and a team start restriction, each with an enforcement setting of required or preferred" src="https://fairgame.is/assets/images/blog-whats-new-scheduling-rules-f6c7301e9993927754b70485184e4001.webp" title="Each rule set as required or preferred, so the schedule knows what must hold and what is merely desirable." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="why-this-is-not-a-spreadsheet-problem">Why this is not a spreadsheet problem<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#why-this-is-not-a-spreadsheet-problem" class="hash-link" aria-label="Direct link to Why this is not a spreadsheet problem" title="Direct link to Why this is not a spreadsheet problem" translate="no">​</a></h2>
<p>Any one of those rules is easy to check by hand. The difficulty is that they interact. Moving one match to fix a rest violation can push another team past its departure time, which frees a pitch that the referee rota no longer covers.</p>
<p>This is a constraint-satisfaction problem, and it is genuinely hard — the number of possible arrangements grows far faster than the number of matches. A human placing fixtures one at a time will find a schedule that satisfies the rule they are currently thinking about and quietly breaks two others.</p>
<p>The practical consequence is that manual multi-venue schedules are usually not wrong in an obvious way. They are wrong in a way you find out about at 10:40 on the Saturday.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="solve-the-whole-day-at-once">Solve the whole day at once<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#solve-the-whole-day-at-once" class="hash-link" aria-label="Direct link to Solve the whole day at once" title="Direct link to Solve the whole day at once" translate="no">​</a></h2>
<p>The alternative is to state the rules up front and let a solver place every match simultaneously, rather than filling slots one at a time. FairGame's advanced scheduler does exactly that, using a constraint solver that considers the entire day as one problem.</p>
<p>Because it solves globally, it can answer a question a spreadsheet cannot: whether a valid schedule exists at all. If your constraints genuinely cannot be satisfied, it says so and explains which one is binding, with the capacity maths behind it — so you can add a pitch, extend hours, shorten matches or spread across another day before you have promised anyone a kickoff time.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-tournament-scheduling">How to schedule a round-robin without spreadsheets</a></li>
<li class=""><a href="https://fairgame.is/examples" target="_blank" rel="noopener noreferrer" class="">See example multi-venue tournaments</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-do-you-schedule-a-tournament-across-multiple-venues">How do you schedule a tournament across multiple venues?<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#how-do-you-schedule-a-tournament-across-multiple-venues" class="hash-link" aria-label="Direct link to How do you schedule a tournament across multiple venues?" title="Direct link to How do you schedule a tournament across multiple venues?" translate="no">​</a></h3>
<p>Check capacity first — total pitch-minutes against total match-minutes — then keep each category at a single venue where possible. Where a category must span sites, treat the travel time between them as a hard constraint on top of normal rest, so no team is scheduled at the second venue before it could physically arrive.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-much-rest-should-teams-get-between-matches">How much rest should teams get between matches?<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#how-much-rest-should-teams-get-between-matches" class="hash-link" aria-label="Direct link to How much rest should teams get between matches?" title="Direct link to How much rest should teams get between matches?" translate="no">​</a></h3>
<p>For youth football, 30 minutes between matches on the same pitch is a common minimum, and more for older age groups playing longer matches. Across venues, add the full transfer time on top. The right number depends on match length and age, but it should be set as a rule the schedule must honour, not left to chance.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-pitches-do-i-need-for-my-tournament">How many pitches do I need for my tournament?<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#how-many-pitches-do-i-need-for-my-tournament" class="hash-link" aria-label="Direct link to How many pitches do I need for my tournament?" title="Direct link to How many pitches do I need for my tournament?" translate="no">​</a></h3>
<p>Divide your total match-minutes by the minutes each pitch is open. For 300 matches at 30 minutes including changeover, you need 9,000 pitch-minutes; a pitch open for 8 hours provides 480, so you need at least 19 pitch-days — and more in practice, because a schedule packed to 100% capacity has no room for overruns.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-happens-if-the-schedule-does-not-fit">What happens if the schedule does not fit?<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#what-happens-if-the-schedule-does-not-fit" class="hash-link" aria-label="Direct link to What happens if the schedule does not fit?" title="Direct link to What happens if the schedule does not fit?" translate="no">​</a></h3>
<p>You have four levers: add pitches, extend the hours venues are open, shorten matches, or spread the tournament across more days. A good scheduler will tell you which constraint is binding before the day rather than dropping matches silently.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="should-each-age-group-stay-at-one-venue">Should each age group stay at one venue?<a href="https://fairgame.is/blog/how-to-schedule-a-multi-venue-tournament#should-each-age-group-stay-at-one-venue" class="hash-link" aria-label="Direct link to Should each age group stay at one venue?" title="Direct link to Should each age group stay at one venue?" translate="no">​</a></h3>
<p>Wherever possible, yes. It removes travel from the schedule entirely, makes the day far easier for parents and coaches, and simplifies referee coverage. Only split a category across venues when pitch capacity genuinely leaves no alternative.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Operations" term="Operations"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Round-Robin vs Swiss vs Knockout: Which to Pick]]></title>
        <id>https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout</id>
        <link href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Compare matches per team, total match count and admin load across round-robin, Swiss and knockout — and which one actually fits your field size.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="Tournament groups with teams drawn into balanced round-robin groups ahead of the knockout stage" src="https://fairgame.is/assets/images/blog-groups-cd529c924e8e5902341938cd18ac55e4.webp" title="The format decides how many matches each team gets, how long the day runs, and how arguable the result is." width="1440" height="900" class="img_UFou"></p>
<p>Choose a round-robin when the field is small and fairness matters most, a knockout when the field is large and time is short, and a Swiss system when you have a large field but still want every team to play the same number of matches.</p>
<p>Here is how the three compare on the things that actually decide it: matches per team, total time, and how much administration they cost you on the day.</p>
<!-- -->
<table><thead><tr><th></th><th>Round-robin</th><th>Swiss</th><th>Knockout</th></tr></thead><tbody><tr><td>Matches per team</td><td>n − 1 (most)</td><td>Fixed — you choose the rounds</td><td>1 minimum, log₂(n) for the winner</td></tr><tr><td>Total matches (16 teams)</td><td>120</td><td>40 (5 rounds)</td><td>15 (fewest)</td></tr><tr><td>Fairness</td><td>Highest — plays everyone</td><td>High — paired by current score</td><td>Lowest — one bad game ends it</td></tr><tr><td>Schedule known in advance</td><td>Yes, in full</td><td>Only round 1</td><td>Yes, in full</td></tr><tr><td>Best for</td><td>4–6 teams, or a group stage</td><td>Large fields, everyone plays equally</td><td>Large fields, hard time limit</td></tr></tbody></table>
<p>Quick answer: <strong>round-robin</strong> for a small, fair field; <strong>knockout</strong> for a large field on a tight clock; <strong>Swiss</strong> for a large field where everyone still needs to play the same number of matches.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="round-robin-fairest-hungriest-for-time">Round-robin: fairest, hungriest for time<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#round-robin-fairest-hungriest-for-time" class="hash-link" aria-label="Direct link to Round-robin: fairest, hungriest for time" title="Direct link to Round-robin: fairest, hungriest for time" translate="no">​</a></h2>
<p>Every team plays every other team. The final table is close to unarguable, because nobody's ranking depends on who they happened to draw.</p>
<p>The cost is volume. Match count grows with the square of the field: n × (n − 1) ÷ 2. Six teams is 15 matches, but sixteen teams is 120. That is why round-robins stay practical only for small groups — typically four to six teams — and why large tournaments use them for the group stage rather than the whole event.</p>
<ul>
<li class="">Matches per team: n − 1 — the most of any format</li>
<li class="">Total matches: n × (n − 1) ÷ 2 — grows fastest</li>
<li class="">Best for: 4–6 teams, or as a group stage</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="knockout-fastest-most-brutal">Knockout: fastest, most brutal<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#knockout-fastest-most-brutal" class="hash-link" aria-label="Direct link to Knockout: fastest, most brutal" title="Direct link to Knockout: fastest, most brutal" translate="no">​</a></h2>
<p>Each match eliminates a team, so finding a champion among n teams takes exactly n − 1 matches. It is by far the most time-efficient format, and the finish is dramatic.</p>
<p>The trade-off is that half the field is eliminated after one match. A team that travelled two hours can be finished before lunch, and a single bad game — or a tough opening draw — ends a good team's tournament.</p>
<ul>
<li class="">Matches per team: 1 at minimum, log₂(n) for the winner</li>
<li class="">Total matches: n − 1 — the fewest of any format</li>
<li class="">Best for: large fields with a hard time limit</li>
</ul>
<p><img decoding="async" loading="lazy" alt="A public knockout bracket showing the semi-finals, final and third-place match with teams advancing round by round" src="https://fairgame.is/assets/images/blog-knockout-bracket-d48d888b3074d7a55b3364e63cac978c.webp" width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="swiss-the-middle-ground-most-organizers-have-not-tried">Swiss: the middle ground most organizers have not tried<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#swiss-the-middle-ground-most-organizers-have-not-tried" class="hash-link" aria-label="Direct link to Swiss: the middle ground most organizers have not tried" title="Direct link to Swiss: the middle ground most organizers have not tried" translate="no">​</a></h2>
<p>A Swiss system fixes a number of rounds up front — say five — and every team plays in all of them. Nobody is eliminated.</p>
<p>What makes it Swiss is the pairing rule: after each round, teams are paired against opponents on a similar score. Winners play winners, losers play losers. So the undefeated teams meet each other naturally as the tournament progresses, and by the final round the top pairing is usually a de facto final — without anyone having been knocked out.</p>
<p>The appeal is the ratio. With 32 teams, five Swiss rounds gives every team five matches for 80 matches total. A full round-robin would need 496. A knockout would find a winner in 31 but send half the field home after one game.</p>
<ul>
<li class="">Matches per team: fixed and equal — you choose the number of rounds</li>
<li class="">Total matches: rounds × n ÷ 2 — grows linearly, not quadratically</li>
<li class="">Best for: large fields where everyone must play the same amount</li>
</ul>
<hr>
<p>The catch is administration. Pairings for round three cannot be produced until round two is scored, so the schedule cannot be published in full in advance — awkward when parents want the day's timings on the Monday. Swiss also needs a rule preventing rematches, and a tie-break system for teams finishing on equal scores.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="group-stage-into-a-bracket-what-most-tournaments-actually-use">Group stage into a bracket: what most tournaments actually use<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#group-stage-into-a-bracket-what-most-tournaments-actually-use" class="hash-link" aria-label="Direct link to Group stage into a bracket: what most tournaments actually use" title="Direct link to Group stage into a bracket: what most tournaments actually use" translate="no">​</a></h2>
<p>The default for youth and club tournaments is a hybrid: small round-robin groups first, then a knockout for the top finishers.</p>
<p>It gets you the best of both. Every team is guaranteed three or four matches regardless of results, the group tables produce a defensible seeding for the bracket, and the tournament still ends with a real final. Adding a plate bracket for the non-qualifiers means nobody's day ends early.</p>
<p><img decoding="async" loading="lazy" alt="Group standings showing played, won, drawn, lost, goals for and against, goal difference and points for every team" src="https://fairgame.is/assets/images/blog-standings-a2a21fc1486cdd4b4ab048330bfcd3e9.webp" width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="a-rule-of-thumb">A rule of thumb<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#a-rule-of-thumb" class="hash-link" aria-label="Direct link to A rule of thumb" title="Direct link to A rule of thumb" translate="no">​</a></h2>
<p>Match the format to your binding constraint:</p>
<ul>
<li class="">Fewer than 6 teams, fairness matters most: single round-robin</li>
<li class="">Large field, hard time limit, decisive result needed: knockout</li>
<li class="">Large field, everyone must play the same number of matches: Swiss</li>
<li class="">Guaranteed matches plus a real winner: groups into a bracket</li>
<li class="">Small field but you dislike one-and-done: double elimination</li>
</ul>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-vs-knockout-format">Round-robin vs. knockout in more depth</a></li>
<li class=""><a class="" href="https://fairgame.is/blog/what-are-knockout-rounds">What are knockout rounds?</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="modelling-the-options-before-you-commit">Modelling the options before you commit<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#modelling-the-options-before-you-commit" class="hash-link" aria-label="Direct link to Modelling the options before you commit" title="Direct link to Modelling the options before you commit" translate="no">​</a></h2>
<p>The decision is easier when you can see what each format costs in hours. Work out the match count for two or three candidates, divide by the pitch-minutes you have, and you will usually find the choice makes itself.</p>
<p>In FairGame the format is a setting rather than a commitment. Pick round-robin, knockout, or groups into a bracket per tournament day, and the schedule, standings and brackets regenerate automatically — so you can model a couple of options and compare match count and finish time before you announce anything.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a href="https://fairgame.is/examples" target="_blank" rel="noopener noreferrer" class="">See example tournaments in each format</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-is-a-swiss-system-tournament">What is a Swiss system tournament?<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#what-is-a-swiss-system-tournament" class="hash-link" aria-label="Direct link to What is a Swiss system tournament?" title="Direct link to What is a Swiss system tournament?" translate="no">​</a></h3>
<p>A format with a fixed number of rounds where nobody is eliminated and teams are paired each round against opponents on a similar score. Winners meet winners, so the strongest teams converge naturally, and every team plays the same number of matches.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="is-swiss-better-than-a-round-robin">Is Swiss better than a round-robin?<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#is-swiss-better-than-a-round-robin" class="hash-link" aria-label="Direct link to Is Swiss better than a round-robin?" title="Direct link to Is Swiss better than a round-robin?" translate="no">​</a></h3>
<p>For large fields, usually yes on efficiency. With 32 teams a five-round Swiss needs 80 matches against 496 for a full round-robin, and every team still plays five times. A round-robin remains fairer in the strict sense, because Swiss rankings depend partly on who you were paired against.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-does-each-format-need">How many matches does each format need?<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#how-many-matches-does-each-format-need" class="hash-link" aria-label="Direct link to How many matches does each format need?" title="Direct link to How many matches does each format need?" translate="no">​</a></h3>
<p>Round-robin: n × (n − 1) ÷ 2. Knockout: n − 1. Swiss: rounds × n ÷ 2. For 16 teams that is 120, 15, and 40 for a five-round Swiss.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="which-tournament-format-is-best-for-youth-football">Which tournament format is best for youth football?<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#which-tournament-format-is-best-for-youth-football" class="hash-link" aria-label="Direct link to Which tournament format is best for youth football?" title="Direct link to Which tournament format is best for youth football?" translate="no">​</a></h3>
<p>Group stage into a bracket, in most cases. It guarantees every team several matches so nobody travels for a single game, produces a defensible seeding from the group tables, and still finishes with a real final. A plate bracket for non-qualifiers keeps every team playing.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="can-you-publish-a-swiss-schedule-in-advance">Can you publish a Swiss schedule in advance?<a href="https://fairgame.is/blog/round-robin-vs-swiss-vs-knockout#can-you-publish-a-swiss-schedule-in-advance" class="hash-link" aria-label="Direct link to Can you publish a Swiss schedule in advance?" title="Direct link to Can you publish a Swiss schedule in advance?" translate="no">​</a></h3>
<p>Not in full. Each round's pairings depend on the previous round's results, so only the first round can be published ahead of the day. If parents and coaches need complete timings in advance, a group stage into a bracket is the easier choice.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Formats" term="Formats"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Tournament Bracket Generator: How Seeding Works]]></title>
        <id>https://fairgame.is/blog/tournament-bracket-generator-seeding</id>
        <link href="https://fairgame.is/blog/tournament-bracket-generator-seeding"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How a bracket generator seeds teams — the 1 v 16 pairing pattern, where byes go, seeding from standings or skill rating, and keeping clubs apart early.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="A knockout builder turning group results into a seeded bracket, with top finishers per group qualifying and seeded by their standings" src="https://fairgame.is/assets/images/blog-knockout-builder-7d07c524c11c11e585cf2bda442a76b0.webp" title="A bracket generator&amp;#39;s real job is not drawing lines — it is deciding who goes where." width="1440" height="900" class="img_UFou"></p>
<p>A tournament bracket generator seeds teams by ranking them first, then placing them so the strongest cannot meet until the latest possible round — the top seed plays the bottom seed, the second seed plays the second-bottom, and so on down the list.</p>
<p>Getting that placement right is what separates a bracket that feels fair from one that produces a great final by luck.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-standard-seeding-pattern">The standard seeding pattern<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#the-standard-seeding-pattern" class="hash-link" aria-label="Direct link to The standard seeding pattern" title="Direct link to The standard seeding pattern" translate="no">​</a></h2>
<p>In a seeded bracket, the pairing rule for the first round is simple: seed 1 plays the lowest seed, seed 2 plays the second lowest, and so on. In a 16-team bracket that gives 1 v 16, 2 v 15, 3 v 14, 4 v 13, and so on.</p>
<p>The important part is not just the pairings but which half of the bracket each team lands in. Seeds 1 and 2 must be placed in opposite halves so they can only meet in the final. Seeds 3 and 4 go into the opposite quarters from each other, so the four strongest teams are spread across the four quarters of the draw.</p>
<ul>
<li class="">Seed 1 and seed 2: opposite halves — can only meet in the final</li>
<li class="">Seeds 1–4: one per quarter — earliest possible meeting is a semi-final</li>
<li class="">Seeds 1–8: one per eighth — earliest possible meeting is a quarter-final</li>
</ul>
<hr>
<p>Done properly, this means an upset is always possible but never manufactured by the draw. If the top two teams meet in round one, that is a seeding failure, not bad luck.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="where-byes-go">Where byes go<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#where-byes-go" class="hash-link" aria-label="Direct link to Where byes go" title="Direct link to Where byes go" translate="no">​</a></h2>
<p>When the field is not a power of two, some teams advance without playing. Byes always go to the highest seeds — that is the reward for finishing top of a group.</p>
<p>With 12 teams, seeds 1 to 4 receive byes and seeds 5 to 12 play a first round. The four bye teams join the four winners for a clean eight-team quarter-final. Giving byes to lower seeds instead would hand an advantage to teams that did not earn it.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="where-the-seeds-come-from">Where the seeds come from<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#where-the-seeds-come-from" class="hash-link" aria-label="Direct link to Where the seeds come from" title="Direct link to Where the seeds come from" translate="no">​</a></h2>
<p>A generator has to rank the teams before it can place them, and there are two honest sources for that ranking.</p>
<p>The first is group standings. If the tournament ran a group stage, the tables already say who performed: group winners seed above runners-up, and ties are broken by points, then goal difference, then goals scored. This is the most common and most defensible method, because the ranking was earned on the pitch that day.</p>
<p>The second is skill rating, which is more useful when the bracket starts cold with no group stage — a one-day cup, for example. A rating system like OpenSkill learns each team's strength from previous results, including margins, so a team that won narrowly is rated differently from one that won heavily.</p>
<p><img decoding="async" loading="lazy" alt="A knockout builder with qualification rules on the left — advance per group, best third-placed, plate bracket, full placement — and a seeded bracket on the right" src="https://fairgame.is/assets/images/blog-whats-new-knockout-68c47f4deb67855d16760c6801b5e6fb.webp" title="Seeding source is a setting: standings from the group stage, skill rating, or a manual order you drag into place." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="best-third-placed-teams">Best third-placed teams<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#best-third-placed-teams" class="hash-link" aria-label="Direct link to Best third-placed teams" title="Direct link to Best third-placed teams" translate="no">​</a></h2>
<p>A common problem: six groups produce six winners and six runners-up, which is twelve qualifiers, but your bracket has sixteen slots. You need four more teams.</p>
<p>The usual answer is to take the best third-placed teams across all groups. Ranking teams that never played each other requires a consistent rule — points first, then goal difference, then goals scored — and, where group sizes differ, comparing per-match averages rather than totals so a team from a larger group is not flattered by having played more.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="keeping-clubs-apart">Keeping clubs apart<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#keeping-clubs-apart" class="hash-link" aria-label="Direct link to Keeping clubs apart" title="Direct link to Keeping clubs apart" translate="no">​</a></h2>
<p>One rule that pure seeding will not give you: teams from the same club should usually not meet in the first round, especially in youth tournaments where two sides of the same club have travelled together.</p>
<p>If your bracket generator does not handle this, you end up adjusting the draw by hand — and every manual nudge risks breaking the seeding logic you just applied. Check whether the tool lets you express the constraint rather than fix the symptom.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/what-are-knockout-rounds">What are knockout rounds?</a></li>
<li class=""><a href="https://fairgame.is/examples" target="_blank" rel="noopener noreferrer" class="">See example tournaments and their brackets</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="generating-the-bracket-in-fairgame">Generating the bracket in FairGame<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#generating-the-bracket-in-fairgame" class="hash-link" aria-label="Direct link to Generating the bracket in FairGame" title="Direct link to Generating the bracket in FairGame" translate="no">​</a></h2>
<p>FairGame seeds the bracket straight from your live group standings, so qualifiers flow through the moment the last group match is scored. You can switch the seeding source to skill rating when there is no group stage to draw on, or drag teams into position by hand when you want the final say.</p>
<p>Brackets run from a final up to a round of 32, byes are placed automatically, and a plate bracket or full placement playoffs keep the non-qualifiers playing instead of going home. Change a group result and the bracket regenerates rather than needing a redraw.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-does-seeding-work-in-a-tournament-bracket">How does seeding work in a tournament bracket?<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#how-does-seeding-work-in-a-tournament-bracket" class="hash-link" aria-label="Direct link to How does seeding work in a tournament bracket?" title="Direct link to How does seeding work in a tournament bracket?" translate="no">​</a></h3>
<p>Teams are ranked, then placed so the strongest are as far apart as possible. The top seed faces the lowest seed, the second seed faces the second lowest, and seeds 1 and 2 are put in opposite halves so they can only meet in the final.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="who-gets-a-bye-in-a-bracket">Who gets a bye in a bracket?<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#who-gets-a-bye-in-a-bracket" class="hash-link" aria-label="Direct link to Who gets a bye in a bracket?" title="Direct link to Who gets a bye in a bracket?" translate="no">​</a></h3>
<p>The highest seeds. When the field is not a power of two, byes trim it to a clean 8, 16 or 32, and giving them to the top-ranked teams rewards group-stage performance rather than handing an advantage to weaker teams.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="should-i-seed-by-group-standings-or-by-rating">Should I seed by group standings or by rating?<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#should-i-seed-by-group-standings-or-by-rating" class="hash-link" aria-label="Direct link to Should I seed by group standings or by rating?" title="Direct link to Should I seed by group standings or by rating?" translate="no">​</a></h3>
<p>Use group standings when a group stage has been played — the ranking was earned that day and is easy to defend. Use a skill rating when the bracket starts cold with no group stage, since it draws on previous results to estimate strength rather than guessing.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-do-you-pick-the-best-third-placed-teams">How do you pick the best third-placed teams?<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#how-do-you-pick-the-best-third-placed-teams" class="hash-link" aria-label="Direct link to How do you pick the best third-placed teams?" title="Direct link to How do you pick the best third-placed teams?" translate="no">​</a></h3>
<p>Rank all third-placed teams against each other with a consistent rule: points, then goal difference, then goals scored. If groups are different sizes, compare per-match averages instead of totals so teams from larger groups are not favoured.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="can-a-bracket-generator-keep-teams-from-the-same-club-apart">Can a bracket generator keep teams from the same club apart?<a href="https://fairgame.is/blog/tournament-bracket-generator-seeding#can-a-bracket-generator-keep-teams-from-the-same-club-apart" class="hash-link" aria-label="Direct link to Can a bracket generator keep teams from the same club apart?" title="Direct link to Can a bracket generator keep teams from the same club apart?" translate="no">​</a></h3>
<p>Good ones can. It matters most in youth tournaments where clubs enter several teams. If the tool cannot express the rule, you have to adjust the draw manually, which risks undoing the seeding you just applied.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Guides" term="Guides"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[What Are Knockout Rounds?]]></title>
        <id>https://fairgame.is/blog/what-are-knockout-rounds</id>
        <link href="https://fairgame.is/blog/what-are-knockout-rounds"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Knockout rounds explained — single elimination, the round of 16 to the final, byes and seeding, and when a knockout beats a round-robin.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="A public knockout bracket showing the semi-finals, final and third-place match with real teams advancing round by round" src="https://fairgame.is/assets/images/blog-knockout-bracket-d48d888b3074d7a55b3364e63cac978c.webp" title="A knockout bracket — each round halves the field until one team is left." width="1440" height="900" class="img_UFou"></p>
<p>Knockout rounds are the stages of a tournament where the loser of each match is eliminated and the winner moves on. Each round halves the field, so 16 teams become 8, then 4, then 2, then a single champion.</p>
<p>They are also called elimination rounds or the bracket, and they are what most people picture when they think of a tournament finish.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="how-a-knockout-round-works">How a knockout round works<a href="https://fairgame.is/blog/what-are-knockout-rounds#how-a-knockout-round-works" class="hash-link" aria-label="Direct link to How a knockout round works" title="Direct link to How a knockout round works" translate="no">​</a></h2>
<p>Every team is paired with one opponent. They play once. The winner advances to the next round; the loser is out of the competition entirely. There is no table, no points, and no second chance.</p>
<p>Because each match removes exactly one team, a knockout needs far fewer matches than a league. Finding a champion among 16 teams takes 15 matches — one fewer than the number of teams, always.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="what-the-rounds-are-called">What the rounds are called<a href="https://fairgame.is/blog/what-are-knockout-rounds#what-the-rounds-are-called" class="hash-link" aria-label="Direct link to What the rounds are called" title="Direct link to What the rounds are called" translate="no">​</a></h2>
<p>Rounds are named after how many teams are left when the round starts, not how many matches it contains. That trips people up more than anything else in a bracket.</p>
<ul>
<li class="">Round of 32: 32 teams, 16 matches</li>
<li class="">Round of 16: 16 teams, 8 matches</li>
<li class="">Quarter-final: 8 teams, 4 matches</li>
<li class="">Semi-final: 4 teams, 2 matches</li>
<li class="">Final: 2 teams, 1 match — the winner takes the tournament</li>
</ul>
<hr>
<p>Many tournaments add a third-place match between the two beaten semi-finalists. It is optional, but it gives both teams one more game and settles the podium.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="byes-what-happens-when-the-field-is-not-a-power-of-two">Byes: what happens when the field is not a power of two<a href="https://fairgame.is/blog/what-are-knockout-rounds#byes-what-happens-when-the-field-is-not-a-power-of-two" class="hash-link" aria-label="Direct link to Byes: what happens when the field is not a power of two" title="Direct link to Byes: what happens when the field is not a power of two" translate="no">​</a></h2>
<p>Brackets work cleanly when the number of teams is a power of two — 4, 8, 16, 32. Real tournaments rarely cooperate. With 12 teams, a straight bracket does not divide evenly.</p>
<p>The fix is a bye: a team advances to the next round without playing. Byes normally go to the strongest teams, so the field is trimmed to a power of two in the first round and everything is clean from there. With 12 teams, 4 teams get a bye and the other 8 play a first round, leaving 8 for the quarter-finals.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="seeding-why-the-bracket-is-not-a-random-draw">Seeding: why the bracket is not a random draw<a href="https://fairgame.is/blog/what-are-knockout-rounds#seeding-why-the-bracket-is-not-a-random-draw" class="hash-link" aria-label="Direct link to Seeding: why the bracket is not a random draw" title="Direct link to Seeding: why the bracket is not a random draw" translate="no">​</a></h2>
<p>If you draw a bracket at random, the two best teams can meet in the first round, and one of them goes home immediately. Seeding exists to prevent that.</p>
<p>Seeding ranks teams before the draw and places them so the strongest are kept as far apart as possible — top seed and second seed can only meet in the final. In a tournament with a group stage first, the seeding usually comes from the group tables: group winners are seeded above runners-up.</p>
<p><img decoding="async" loading="lazy" alt="Group standings showing played, won, drawn, lost, goals for and against, goal difference and points for every team" src="https://fairgame.is/assets/images/blog-standings-a2a21fc1486cdd4b4ab048330bfcd3e9.webp" title="In a group-then-bracket format, these tables decide who qualifies and how they are seeded." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="when-to-use-knockout-rounds--and-when-not-to">When to use knockout rounds — and when not to<a href="https://fairgame.is/blog/what-are-knockout-rounds#when-to-use-knockout-rounds--and-when-not-to" class="hash-link" aria-label="Direct link to When to use knockout rounds — and when not to" title="Direct link to When to use knockout rounds — and when not to" translate="no">​</a></h2>
<p>A knockout is the right choice when you have a large field and a hard time limit. It is decisive, it is dramatic, and it finishes on schedule.</p>
<p>It is the wrong choice when teams have travelled a long way for the day. Half your field is eliminated after a single match, and a team that lost narrowly to the eventual winner goes home with one game played. For youth and club tournaments that is usually unacceptable.</p>
<p>The common compromise is a group stage into a bracket: everyone gets three or four guaranteed matches in a small round-robin group, then the top finishers advance to knockout rounds for a decisive finish. Adding a plate bracket — a second competition for the teams that do not qualify — means nobody stops playing early.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a class="" href="https://fairgame.is/blog/round-robin-vs-knockout-format">Round-robin vs. knockout: a fuller comparison</a></li>
<li class=""><a class="" href="https://fairgame.is/blog/tournament-bracket-generator-seeding">How seeding a bracket actually works</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="running-the-bracket-without-redrawing-it-by-hand">Running the bracket without redrawing it by hand<a href="https://fairgame.is/blog/what-are-knockout-rounds#running-the-bracket-without-redrawing-it-by-hand" class="hash-link" aria-label="Direct link to Running the bracket without redrawing it by hand" title="Direct link to Running the bracket without redrawing it by hand" translate="no">​</a></h2>
<p>The administrative cost of a knockout is that every result changes the next round. Someone has to know who won, work out who that puts through, and update the bracket before the next kickoff — usually while the tournament is running.</p>
<p>FairGame generates the bracket from your live group standings and advances teams automatically as results come in. Brackets run from a final up to a round of 32, byes are handled for you, and seeding can come from the standings, from skill rating, or from your own drag-and-drop order.</p>
<div class="theme-admonition theme-admonition-tip admonition_CnQt alert alert--success"><div class="admonitionHeading_M0Oc"><span class="admonitionIcon_i30a"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Related reading</div><div class="admonitionContent_QssC"><ul>
<li class=""><a href="https://fairgame.is/examples" target="_blank" rel="noopener noreferrer" class="">See example tournaments and their brackets</a></li>
</ul></div></div>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="frequently-asked-questions">Frequently asked questions<a href="https://fairgame.is/blog/what-are-knockout-rounds#frequently-asked-questions" class="hash-link" aria-label="Direct link to Frequently asked questions" title="Direct link to Frequently asked questions" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-are-knockout-rounds-in-a-tournament">What are knockout rounds in a tournament?<a href="https://fairgame.is/blog/what-are-knockout-rounds#what-are-knockout-rounds-in-a-tournament" class="hash-link" aria-label="Direct link to What are knockout rounds in a tournament?" title="Direct link to What are knockout rounds in a tournament?" translate="no">​</a></h3>
<p>Knockout rounds are the elimination stages where the losing team is out of the tournament and the winner advances. Each round halves the number of remaining teams until a single champion is left. They are also called elimination rounds or the bracket.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-are-in-a-knockout-tournament">How many matches are in a knockout tournament?<a href="https://fairgame.is/blog/what-are-knockout-rounds#how-many-matches-are-in-a-knockout-tournament" class="hash-link" aria-label="Direct link to How many matches are in a knockout tournament?" title="Direct link to How many matches are in a knockout tournament?" translate="no">​</a></h3>
<p>One fewer than the number of teams. Every match eliminates exactly one team, and all but the champion must be eliminated, so 16 teams need 15 matches. Add one more if you play a third-place match.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-is-the-difference-between-a-knockout-round-and-a-group-stage">What is the difference between a knockout round and a group stage?<a href="https://fairgame.is/blog/what-are-knockout-rounds#what-is-the-difference-between-a-knockout-round-and-a-group-stage" class="hash-link" aria-label="Direct link to What is the difference between a knockout round and a group stage?" title="Direct link to What is the difference between a knockout round and a group stage?" translate="no">​</a></h3>
<p>In a group stage every team plays several matches and is ranked in a table by points, so one bad result is survivable. In a knockout round a single defeat ends the tournament for that team. Many tournaments use a group stage first to guarantee matches, then knockout rounds to decide the winner.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="what-is-a-bye-in-a-knockout-bracket">What is a bye in a knockout bracket?<a href="https://fairgame.is/blog/what-are-knockout-rounds#what-is-a-bye-in-a-knockout-bracket" class="hash-link" aria-label="Direct link to What is a bye in a knockout bracket?" title="Direct link to What is a bye in a knockout bracket?" translate="no">​</a></h3>
<p>A bye lets a team advance to the next round without playing, and is used when the field is not a power of two. Byes usually go to the highest-seeded teams, trimming the field to a clean 8, 16 or 32 for the following round.</p>
<h3 class="anchor anchorTargetStickyNavbar_uI7m" id="why-are-knockout-brackets-seeded">Why are knockout brackets seeded?<a href="https://fairgame.is/blog/what-are-knockout-rounds#why-are-knockout-brackets-seeded" class="hash-link" aria-label="Direct link to Why are knockout brackets seeded?" title="Direct link to Why are knockout brackets seeded?" translate="no">​</a></h3>
<p>So the strongest teams cannot meet too early. Seeding places the top-ranked teams in opposite parts of the bracket, meaning the first and second seeds can only face each other in the final. Without it, a random draw can eliminate the two best teams in round one.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Basics" term="Basics"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[What's New: Summer 2026 Release]]></title>
        <id>https://fairgame.is/blog/whats-new-summer-2026</id>
        <link href="https://fairgame.is/blog/whats-new-summer-2026"/>
        <updated>2026-07-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Summer 2026 in FairGame: referees who staff themselves, a rule-enforcing scheduler, tournament templates, deeper brackets and a matchday control room.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="The FairGame tournament dashboard showing live, upcoming and draft counts, total teams and matches played, an inbox for registrations, and a templates card for scaffolding the next edition" src="https://fairgame.is/assets/images/blog-whats-new-dashboard-87cb4c994d3872dd084658e303741e92.webp" title="The organizer&amp;#39;s dashboard — every tournament in the organization, plus the templates you can start the next one from." width="1440" height="900" class="img_UFou"></p>
<p>We spend most of our time with organizers during the parts of a tournament that hurt: the week before, when the schedule still doesn't fit, and the morning of, when a referee doesn't show. Almost everything that shipped this summer came out of watching those two moments.</p>
<p>Here is what is new — what each feature does, and the specific problem it removes.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="referees-now-staff-themselves">Referees now staff themselves<a href="https://fairgame.is/blog/whats-new-summer-2026#referees-now-staff-themselves" class="hash-link" aria-label="Direct link to Referees now staff themselves" title="Direct link to Referees now staff themselves" translate="no">​</a></h2>
<p>Collecting referee availability used to mean phone calls and a spreadsheet, with you typing in every answer. Now each referee gets their own link. No app, no account, no password — they open it on their phone, tell you the hours they can work, and take the shifts they want.</p>
<p>They see the whole grid: which pitch-hours are open, which are already covered, and which are theirs. Tapping an open hour claims it; tapping one of their own green shifts releases it. Hours outside the availability they set are locked, so nobody accidentally signs up for a shift they can't work.</p>
<p><img decoding="async" loading="lazy" alt="A referee&amp;#39;s personal portal on a phone — their availability window for the day, then a pitch-by-hour grid where two claimed shifts are marked as theirs and the remaining hours are open to take" src="https://fairgame.is/assets/images/blog-whats-new-referee-portal-f3574a680a764f6a98e3aa7b0a68c164.webp" title="The referee&amp;#39;s own view — set the hours you can work, then take the shifts you want. The two green cells are shifts this referee claimed." width="1440" height="900" class="img_UFou"></p>
<hr>
<p>On your side, the coverage grid fills in as they respond, and the roster tells you how many referees have actually used their link. Anything still uncovered stays red, one click auto-staffs the rest, and you can copy a day's staffing to the next one. If a link ever goes astray, rotate it and the old one stops working.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-scheduler-enforces-your-rules-not-just-your-fixtures">The scheduler enforces your rules, not just your fixtures<a href="https://fairgame.is/blog/whats-new-summer-2026#the-scheduler-enforces-your-rules-not-just-your-fixtures" class="hash-link" aria-label="Direct link to The scheduler enforces your rules, not just your fixtures" title="Direct link to The scheduler enforces your rules, not just your fixtures" translate="no">​</a></h2>
<p>Every tournament has rules that live in the organizer's head. The teams flying in can't start before ten. The youngest groups go home after lunch. Nobody plays three games back to back. There is a break at midday when the pitches are needed for something else.</p>
<p>You can now write those down as constraints and let the scheduler honor them. Each rule is marked required or preferred, so you can distinguish what must hold from what you would merely like.</p>
<ul>
<li class="">Break windows where no match may be placed</li>
<li class="">Earliest start and latest finish per team, for travel and for bedtimes</li>
<li class="">Rest overrides for specific teams, on top of the tournament-wide minimum</li>
<li class="">A cap on matches per team per day</li>
<li class="">Restrictions on which pitches a group may use</li>
<li class="">Final rounds that all kick off at the same time</li>
</ul>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s scheduling constraints panel with a midday break window and a team start restriction, each with an active toggle and an enforcement setting of required or preferred" src="https://fairgame.is/assets/images/blog-whats-new-scheduling-rules-f6c7301e9993927754b70485184e4001.webp" title="Rules the auto-scheduler must honor. Set each one to required or preferred, and toggle it off without deleting it." width="1440" height="900" class="img_UFou"></p>
<hr>
<p>Turn on the advanced scheduler and it solves the whole day at once rather than filling slots one match at a time — which is what makes honoring all of these simultaneously possible. If your day genuinely cannot fit, it says so and explains why, instead of quietly dropping matches you only notice on the morning.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="save-this-years-setup-run-it-again-next-year">Save this year's setup, run it again next year<a href="https://fairgame.is/blog/whats-new-summer-2026#save-this-years-setup-run-it-again-next-year" class="hash-link" aria-label="Direct link to Save this year's setup, run it again next year" title="Direct link to Save this year's setup, run it again next year" translate="no">​</a></h2>
<p>Most organizers run the same tournament every season, and used to rebuild it from scratch every season. You can now save a tournament as a template: venues, pitches, categories, groups, days and settings, without the teams or the results.</p>
<p>Next season you pick it off the shelf, give it a name and a start date, and you are back where you finished — only a year smarter. You can also build one from scratch in the template builder, or share a template with another organizer by email so they can run your format too.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s new-tournament-from-template dialog showing a saved template with its day, venue, pitch and category counts, a name and start date for the new edition, and a link to the template builder" src="https://fairgame.is/assets/images/blog-whats-new-templates-ef48b18d73abfe58dce2e6165cd3a9c8.webp" title="A saved template carries the whole structure forward — here five days, two venues, twelve pitches and nine categories." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="knockouts-that-go-deeper">Knockouts that go deeper<a href="https://fairgame.is/blog/whats-new-summer-2026#knockouts-that-go-deeper" class="hash-link" aria-label="Direct link to Knockouts that go deeper" title="Direct link to Knockouts that go deeper" translate="no">​</a></h2>
<p>Brackets now run up to a round of 32, so large fields no longer need to be split. Beyond size, the bigger change is what happens to the teams who don't win: a plate bracket gives everyone who fails to qualify a second cup, and full placement playoffs let every team play for its exact finishing position rather than going home after one bad game.</p>
<p>Qualifiers flow straight from the live group standings. Seed the bracket automatically by those standings, or by skill rating to keep the strongest sides apart, or drag teams into place by hand.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s knockout builder with toggles for best third-placed teams, a plate bracket, full placement and rank-pair finals, alongside the seeding order and a generated semi-final, final and third-place bracket" src="https://fairgame.is/assets/images/blog-whats-new-knockout-68c47f4deb67855d16760c6801b5e6fb.webp" title="The knockout builder — qualification rules on the left, the seeded bracket on the right, regenerated whenever the groups change." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="a-control-room-for-the-day-itself">A control room for the day itself<a href="https://fairgame.is/blog/whats-new-summer-2026#a-control-room-for-the-day-itself" class="hash-link" aria-label="Direct link to A control room for the day itself" title="Direct link to A control room for the day itself" translate="no">​</a></h2>
<p>Setup and match day need different screens. The control room is the match-day one: how far through the tournament you are, how healthy the schedule is, which phase each category has reached, and the status of every pitch.</p>
<p>The part organizers use most is the queue of things that actually need a decision — conflicts, matches with no kickoff time, brackets waiting on a group to finish — ordered by urgency, so you work down a list instead of hunting for problems.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="guided-or-manual-your-call">Guided or manual, your call<a href="https://fairgame.is/blog/whats-new-summer-2026#guided-or-manual-your-call" class="hash-link" aria-label="Direct link to Guided or manual, your call" title="Direct link to Guided or manual, your call" translate="no">​</a></h2>
<p>The setup wizard is the fastest way to a working tournament, and it is still what we recommend for a first one. But organizers who already know exactly what they want found it slow. Creating a tournament now asks which you would prefer: the step-by-step wizard, or a blank tournament you configure yourself in the workspace.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s create-a-tournament dialog offering a recommended guided setup wizard or a manual setup that starts from a blank tournament" src="https://fairgame.is/assets/images/blog-whats-new-setup-choice-508ada2202584532136d2b0a46f3927b.webp" title="Two ways in — the guided wizard for a first tournament, manual setup when you already know the shape of yours." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="smaller-things-that-add-up">Smaller things that add up<a href="https://fairgame.is/blog/whats-new-summer-2026#smaller-things-that-add-up" class="hash-link" aria-label="Direct link to Smaller things that add up" title="Direct link to Smaller things that add up" translate="no">​</a></h2>
<ul>
<li class="">Invite co-organizers, club admins and referees to your organization by email, each with the access their role needs.</li>
<li class="">Email every team's coach at once — schedule changes, arrival times, reminders — and see who is reachable before you send.</li>
<li class="">Import rosters from a private Excel file as well as a shared Google Sheet, and map a contact email per team while you are there.</li>
<li class="">Sign in with a one-time email code, a password, or Continue with Google.</li>
<li class="">The FairGame Sports app for followers is now on both the App Store and Google Play.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="what-we-are-working-on-next">What we are working on next<a href="https://fairgame.is/blog/whats-new-summer-2026#what-we-are-working-on-next" class="hash-link" aria-label="Direct link to What we are working on next" title="Direct link to What we are working on next" translate="no">​</a></h2>
<p>The theme of this release was handing work back to the people who own it — referees managing their own shifts, the scheduler enforcing rules you would otherwise police by hand, last season doing the setup for this one.</p>
<p>That is also where we are headed next. If you run tournaments and something here is close to what you need but not quite it, we would rather hear about it than guess — write to us at <a href="mailto:info@fairgame.is" target="_blank" rel="noopener noreferrer" class="">info@fairgame.is</a>.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Product" term="Product"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Referee Management for Multi-Pitch Tournaments]]></title>
        <id>https://fairgame.is/blog/referee-management</id>
        <link href="https://fairgame.is/blog/referee-management"/>
        <updated>2026-07-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How to staff referees across a multi-pitch tournament without gaps — coverage grids, conflict rules, QR match cards, and auto-staffing every pitch-hour.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s referee coverage grid with an official assigned to every pitch and every hour of the day, showing full coverage and zero open slots" src="https://fairgame.is/assets/images/blog-referee-coverage-efbf68a3aeb5380b1a8490c8d64474c5.webp" title="FairGame&amp;#39;s referee grid — an official on every pitch, every hour, with no gaps before the first whistle." width="1440" height="900" class="img_UFou"></p>
<p>On a busy tournament day a missing referee stops a match as surely as a missing team. With games kicking off every few minutes across a dozen pitches, keeping an official on every one is its own logistics problem.</p>
<p>Here is how to staff referees without gaps, avoid the conflicts that erode trust, and get scores off the pitch and onto the results page in seconds.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="referees-are-a-scheduling-constraint-not-an-afterthought">Referees are a scheduling constraint, not an afterthought<a href="https://fairgame.is/blog/referee-management#referees-are-a-scheduling-constraint-not-an-afterthought" class="hash-link" aria-label="Direct link to Referees are a scheduling constraint, not an afterthought" title="Direct link to Referees are a scheduling constraint, not an afterthought" translate="no">​</a></h2>
<p>A referee can only be in one place at a time, needs a break between matches, and should never officiate a game their own club is playing in. Those are the same kind of rules the fixture scheduler already juggles for teams and pitches — which is why referee coverage belongs in the schedule from the start, not bolted on the morning of.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="see-every-gap-before-the-first-whistle">See every gap before the first whistle<a href="https://fairgame.is/blog/referee-management#see-every-gap-before-the-first-whistle" class="hash-link" aria-label="Direct link to See every gap before the first whistle" title="Direct link to See every gap before the first whistle" translate="no">​</a></h2>
<p>Map every pitch against every hour and the holes jump out. FairGame's referee grid turns red wherever a pitch has no official on the clock, so you can spot an uncovered slot at 11:00 on pitch 3 while there is still time to fill it — not when two teams are standing on the touchline waiting.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s referee coverage grid flagging three uncovered pitches in red while six are fully staffed, with slot-coverage and open-slot counts" src="https://fairgame.is/assets/images/blog-referee-gaps-280e8f850ea89ac9d752b1d0c97ce565.webp" title="The grid flags every uncovered pitch-hour in red, so gaps get closed before kickoff — not during it." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="never-let-a-team-referee-its-own-match">Never let a team referee its own match<a href="https://fairgame.is/blog/referee-management#never-let-a-team-referee-its-own-match" class="hash-link" aria-label="Direct link to Never let a team referee its own match" title="Direct link to Never let a team referee its own match" translate="no">​</a></h2>
<p>Nothing erodes trust in a tournament faster than a club appearing to officiate a game it has a stake in. Treat “no team referees its own match” as a hard rule and enforce it automatically, alongside rest gaps and pitch coverage, so it can never slip through on a hectic morning.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="put-a-match-card-in-every-referees-hand">Put a match card in every referee's hand<a href="https://fairgame.is/blog/referee-management#put-a-match-card-in-every-referees-hand" class="hash-link" aria-label="Direct link to Put a match card in every referee's hand" title="Direct link to Put a match card in every referee's hand" translate="no">​</a></h2>
<p>Give each official a card for their match: the teams, the kickoff time, the pitch, and a QR code that opens the score-entry page for exactly that game. No hunting for the right fixture and no radioing results back to a laptop — the referee scans, taps in the score, and it is done.</p>
<p><img decoding="async" loading="lazy" alt="Printable FairGame match cards, each with the teams, kickoff time, pitch and a QR code a referee scans to open that match&amp;#39;s score-entry page" src="https://fairgame.is/assets/images/blog-referee-cards-a169d4f18935108eef99a71ff2608111.webp" title="Each match card carries a QR code the referee scans to score exactly that game — no wrong fixtures, no double entry." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="let-scores-flow-straight-to-the-results-page">Let scores flow straight to the results page<a href="https://fairgame.is/blog/referee-management#let-scores-flow-straight-to-the-results-page" class="hash-link" aria-label="Direct link to Let scores flow straight to the results page" title="Direct link to Let scores flow straight to the results page" translate="no">​</a></h2>
<p>The faster a final score leaves the pitch, the faster standings update and the fewer times anyone asks who is winning. When referees enter results on their phone at the final whistle, the public standings and knockout brackets recalculate on their own — no double entry, no lag.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="let-fairgame-staff-the-gaps">Let FairGame staff the gaps<a href="https://fairgame.is/blog/referee-management#let-fairgame-staff-the-gaps" class="hash-link" aria-label="Direct link to Let FairGame staff the gaps" title="Direct link to Let FairGame staff the gaps" translate="no">​</a></h2>
<p>Add your referees and their availability, and FairGame auto-staffs the grid — assigning an official to every pitch-hour, respecting breaks, and keeping teams away from their own matches. A wall of red becomes full coverage in one pass, so you spend the day on the pitches instead of chasing officials.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Operations" term="Operations"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Run a Youth Football Tournament]]></title>
        <id>https://fairgame.is/blog/how-to-run-a-youth-football-tournament</id>
        <link href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament"/>
        <updated>2026-06-24T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[From registration and age groups to scheduling, referees and live results — a practical checklist for a youth football tournament that runs on time.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s tournament setup checklist walking an organizer through venues, categories, groups, teams, fixtures and scheduling step by step" src="https://fairgame.is/assets/images/blog-setup-checklist-aa6453f9dad4ffc615c12b8455987f90.webp" title="FairGame walks you through setup step by step — venues, groups, teams, fixtures and scheduling." width="1440" height="900" class="img_UFou"></p>
<p>Running a youth football tournament is equal parts logistics and hospitality: dozens of teams, anxious coaches, and hundreds of parents who all want to know where their child plays next and who is winning.</p>
<p>This is the checklist we walk new organizers through — the decisions to make early, and the ones you can safely leave to software.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="1-set-the-size-and-the-shape">1. Set the size and the shape<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#1-set-the-size-and-the-shape" class="hash-link" aria-label="Direct link to 1. Set the size and the shape" title="Direct link to 1. Set the size and the shape" translate="no">​</a></h2>
<p>Decide the number of teams, the age categories, and how many pitches you have for how many hours. These four numbers determine everything else. A good rule is to work backwards from your last kickoff time: if you cannot fit the matches into the daylight you have, either add a pitch or reduce the format before you open registration.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="2-open-registration-early">2. Open registration early<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#2-open-registration-early" class="hash-link" aria-label="Direct link to 2. Open registration early" title="Direct link to 2. Open registration early" translate="no">​</a></h2>
<p>Collect teams, coach contact details and age group in one place, and confirm entries as they arrive. A clear registration deadline protects your schedule — late entries are the single most common cause of a last-minute rebuild.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="3-draw-balanced-groups">3. Draw balanced groups<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#3-draw-balanced-groups" class="hash-link" aria-label="Direct link to 3. Draw balanced groups" title="Direct link to 3. Draw balanced groups" translate="no">​</a></h2>
<p>Seed the strongest teams into different groups so the good sides do not knock each other out in the opening round. For youth events, keeping clubs that travelled together in nearby time slots is a small kindness that saves a lot of logistics.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s groups view listing every group with its team count, match count and scheduled matches" src="https://fairgame.is/assets/images/blog-groups-cd529c924e8e5902341938cd18ac55e4.webp" width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="4-build-a-conflict-free-schedule">4. Build a conflict-free schedule<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#4-build-a-conflict-free-schedule" class="hash-link" aria-label="Direct link to 4. Build a conflict-free schedule" title="Direct link to 4. Build a conflict-free schedule" translate="no">​</a></h2>
<p>This is where most tournaments lose their evening. Every team needs rest between matches, no pitch can host two games at once, and shared players or referees cannot be in two places. Solving that by hand for 40 teams is a long night; scheduling software does it in seconds and reschedules cleanly when something changes.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="5-sort-out-referees-and-scoring">5. Sort out referees and scoring<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#5-sort-out-referees-and-scoring" class="hash-link" aria-label="Direct link to 5. Sort out referees and scoring" title="Direct link to 5. Sort out referees and scoring" translate="no">​</a></h2>
<p>Assign referees to matches in advance and give them a simple way to enter results from the pitch. The faster scores reach the system, the faster standings update — and the fewer times you will be asked who goes through.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="6-publish-live-results">6. Publish live results<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#6-publish-live-results" class="hash-link" aria-label="Direct link to 6. Publish live results" title="Direct link to 6. Publish live results" translate="no">​</a></h2>
<p>Give players, coaches and parents a live link to schedules, standings and brackets on their phones. It cuts the queue at the organizers' table to almost nothing and makes the whole event feel professional.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s public results page showing live match results by day, with team badges, scores, groups and pitches for players and parents to follow" src="https://fairgame.is/assets/images/blog-live-results-50b0a4727c842ea6bb17e0889778e5a9.webp" title="The public results page players, coaches and parents follow live — results, standings and brackets on any phone." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="run-the-day-not-the-spreadsheet">Run the day, not the spreadsheet<a href="https://fairgame.is/blog/how-to-run-a-youth-football-tournament#run-the-day-not-the-spreadsheet" class="hash-link" aria-label="Direct link to Run the day, not the spreadsheet" title="Direct link to Run the day, not the spreadsheet" translate="no">​</a></h2>
<p>FairGame handles steps three through six for you: balanced group draws, conflict-free scheduling, referee assignment, live scoring and public standings — all from one screen. You import the teams; it runs the tournament, so you can spend the day on the pitches instead of behind a laptop.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Playbook" term="Playbook"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Round-Robin vs Knockout: Which Format to Pick]]></title>
        <id>https://fairgame.is/blog/round-robin-vs-knockout-format</id>
        <link href="https://fairgame.is/blog/round-robin-vs-knockout-format"/>
        <updated>2026-06-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Round-robin, knockout, or groups into a bracket? Compare tournament formats by fairness, match count and time — with a rule of thumb for each.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="A FairGame public knockout bracket showing the semi-finals, final and third-place match, with real teams advancing round by round" src="https://fairgame.is/assets/images/blog-knockout-bracket-d48d888b3074d7a55b3364e63cac978c.webp" title="A knockout bracket in FairGame — group qualifiers advance automatically through the semi-finals to the final." width="1440" height="900" class="img_UFou"></p>
<p>The format you pick decides how fair your tournament feels, how long it runs, and how many matches each team gets for their entry fee. Choose wrong and you either run out of daylight or send half the teams home after one game.</p>
<p>Here is how the main formats compare, and a simple way to choose between them.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="round-robin-fairest-but-hungry-for-time">Round-robin: fairest, but hungry for time<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#round-robin-fairest-but-hungry-for-time" class="hash-link" aria-label="Direct link to Round-robin: fairest, but hungry for time" title="Direct link to Round-robin: fairest, but hungry for time" translate="no">​</a></h2>
<p>In a round-robin every team plays every other team, so the standings are hard to argue with. The downside is volume: match counts grow with the square of the field, so a round-robin only stays practical for small groups — typically four to six teams.</p>
<p><img decoding="async" loading="lazy" alt="FairGame public group standings showing played, won, drawn, lost, goals for and against, goal difference and points for every team" src="https://fairgame.is/assets/images/blog-standings-a2a21fc1486cdd4b4ab048330bfcd3e9.webp" width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="single-knockout-fast-dramatic-unforgiving">Single knockout: fast, dramatic, unforgiving<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#single-knockout-fast-dramatic-unforgiving" class="hash-link" aria-label="Direct link to Single knockout: fast, dramatic, unforgiving" title="Direct link to Single knockout: fast, dramatic, unforgiving" translate="no">​</a></h2>
<p>A single-elimination bracket is the quickest way to crown a winner. With 16 teams you need just 15 matches to find a champion. The trade-off is that half the field is eliminated after one match, and a single bad game — or a tough opening draw — ends a good team's tournament.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="double-knockout-a-second-chance">Double knockout: a second chance<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#double-knockout-a-second-chance" class="hash-link" aria-label="Direct link to Double knockout: a second chance" title="Direct link to Double knockout: a second chance" translate="no">​</a></h2>
<p>Double-elimination adds a losers' bracket, so a team must lose twice to go out. It softens the unfairness of a single bad result at the cost of more matches and a more complex bracket that is genuinely hard to run by hand.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="groups-into-a-bracket-the-best-of-both">Groups into a bracket: the best of both<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#groups-into-a-bracket-the-best-of-both" class="hash-link" aria-label="Direct link to Groups into a bracket: the best of both" title="Direct link to Groups into a bracket: the best of both" translate="no">​</a></h2>
<p>The format most major tournaments use is a group stage followed by a knockout. Teams start in small round-robin groups so everyone is guaranteed several matches, then the top finishers advance to a bracket for a decisive finish. It balances fairness, excitement and a predictable schedule — which is why it is the default for youth and club tournaments.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s knockout builder turning group results into a seeded bracket — top finishers per group qualify and are seeded by their standings" src="https://fairgame.is/assets/images/blog-knockout-builder-7d07c524c11c11e585cf2bda442a76b0.webp" title="FairGame seeds the bracket straight from the group tables — top finishers qualify with no manual redraw." width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="a-rule-of-thumb">A rule of thumb<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#a-rule-of-thumb" class="hash-link" aria-label="Direct link to A rule of thumb" title="Direct link to A rule of thumb" translate="no">​</a></h2>
<p>Match the format to your priority:</p>
<ul>
<li class="">Fewer than 6 teams and fairness matters most: a single round-robin.</li>
<li class="">A large field and a hard time limit: a single knockout.</li>
<li class="">You want guaranteed games plus a real winner: groups into a bracket.</li>
<li class="">A small field but you dislike one-and-done: double knockout.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="change-your-mind-without-starting-over">Change your mind without starting over<a href="https://fairgame.is/blog/round-robin-vs-knockout-format#change-your-mind-without-starting-over" class="hash-link" aria-label="Direct link to Change your mind without starting over" title="Direct link to Change your mind without starting over" translate="no">​</a></h2>
<p>In FairGame the format is a setting, not a commitment. Choose round-robin, knockout, or group-stage-into-bracket per tournament day, and the schedule, standings and brackets regenerate automatically. You can model a couple of options and see the match count and finish time before you announce anything.</p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Formats" term="Formats"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Schedule a Round-Robin Tournament]]></title>
        <id>https://fairgame.is/blog/round-robin-tournament-scheduling</id>
        <link href="https://fairgame.is/blog/round-robin-tournament-scheduling"/>
        <updated>2026-05-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A step-by-step guide to a fair, conflict-free round-robin schedule — the circle method, byes for odd team counts, and where spreadsheets fall apart.]]></summary>
        <content type="html"><![CDATA[<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s scheduling grid with an auto-generated round-robin fixture list placed conflict-free across every pitch and time slot" src="https://fairgame.is/assets/images/blog-schedule-grid-f9812eef02c53f498eb11e553ce88c11.webp" title="A round-robin schedule built in FairGame — every fixture placed across pitches and time slots without a clash." width="1440" height="900" class="img_UFou"></p>
<p>A round-robin is the fairest way to run a group stage: every team plays every other team once, so the final standings reflect real form rather than a lucky draw. It is also the format most likely to break a spreadsheet.</p>
<p>This guide walks through how round-robin scheduling actually works, how to handle an odd number of teams, and how to avoid the conflicts that force organizers to rebuild the schedule the night before kickoff.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="how-many-matches-will-you-actually-play">How many matches will you actually play?<a href="https://fairgame.is/blog/round-robin-tournament-scheduling#how-many-matches-will-you-actually-play" class="hash-link" aria-label="Direct link to How many matches will you actually play?" title="Direct link to How many matches will you actually play?" translate="no">​</a></h2>
<p>For a single round-robin, the number of matches is n × (n − 1) ÷ 2, where n is the number of teams. Eight teams means 28 matches; twelve teams means 66. Double that for a home-and-away format. Knowing the total early tells you how many pitches and time slots you need before you promise anyone a finish time.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="the-circle-method-explained">The circle method, explained<a href="https://fairgame.is/blog/round-robin-tournament-scheduling#the-circle-method-explained" class="hash-link" aria-label="Direct link to The circle method, explained" title="Direct link to The circle method, explained" translate="no">​</a></h2>
<p>The classic way to generate the rounds is the circle method. Fix one team in place and rotate the others around it. In each round, teams facing each other across the circle play a match; after every round you rotate everyone one position clockwise except the fixed team.</p>
<p>For an even number of teams this produces a perfect schedule: n − 1 rounds, with every team playing exactly once per round and meeting every opponent exactly once.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="handling-an-odd-number-of-teams">Handling an odd number of teams<a href="https://fairgame.is/blog/round-robin-tournament-scheduling#handling-an-odd-number-of-teams" class="hash-link" aria-label="Direct link to Handling an odd number of teams" title="Direct link to Handling an odd number of teams" translate="no">​</a></h2>
<p>With an odd number of teams, someone has to sit out each round. The standard trick is to add a phantom team called a bye. Whoever is drawn against the bye rests that round. An odd count of teams means n rounds instead of n − 1, and every team gets exactly one bye across the tournament.</p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="where-spreadsheets-fall-apart">Where spreadsheets fall apart<a href="https://fairgame.is/blog/round-robin-tournament-scheduling#where-spreadsheets-fall-apart" class="hash-link" aria-label="Direct link to Where spreadsheets fall apart" title="Direct link to Where spreadsheets fall apart" translate="no">​</a></h2>
<p>Generating the pairings is the easy part. The hard part is fitting them onto real pitches and time slots without a team playing twice at once, refereeing its own match, or facing back-to-back games with no rest.</p>
<ul>
<li class="">Pitch clashes: two matches assigned to the same pitch at the same time.</li>
<li class="">Double-booked teams: a team scheduled on two pitches in the same slot.</li>
<li class="">No rest: a team finishing on one pitch and expected on another minutes later.</li>
<li class="">Referee conflicts: a team asked to officiate while it is also playing.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s match list — every fixture with its time, pitch, group and score in one table, the kind of list organizers otherwise keep in a spreadsheet" src="https://fairgame.is/assets/images/blog-match-list-71bfc28c142f8d8095b8873ac0b64088.webp" width="1440" height="900" class="img_UFou"></p>
<h2 class="anchor anchorTargetStickyNavbar_uI7m" id="let-the-computer-solve-it">Let the computer solve it<a href="https://fairgame.is/blog/round-robin-tournament-scheduling#let-the-computer-solve-it" class="hash-link" aria-label="Direct link to Let the computer solve it" title="Direct link to Let the computer solve it" translate="no">​</a></h2>
<p>Every one of those rules is a constraint, and constraints are exactly what scheduling software is built to satisfy. FairGame takes your teams, pitches and available hours and returns a complete round-robin schedule in seconds — no clashes, balanced rest, and referees who are never double-booked. When a team drops out or a pitch goes offline, it reschedules the affected matches instead of making you start over.</p>
<p><img decoding="async" loading="lazy" alt="FairGame&amp;#39;s auto-schedule dialog running the solver to place every group-stage match across both tournament days in a single solve" src="https://fairgame.is/assets/images/blog-auto-schedule-5cf7e8086c9b9ebcb4773c489d4224a5.webp" title="One click runs the solver — it places the whole fixture list, respecting rest, pitches and referees, in one pass." width="1440" height="900" class="img_UFou"></p>]]></content>
        <author>
            <name>Jón Levy</name>
            <uri>https://fairgame.is</uri>
        </author>
        <category label="Guides" term="Guides"/>
    </entry>
</feed>