Vibe ChessVibe Chess

A tournament table template

Alexey Mudry
If you are running a tournament in person - in a club, a school, an office or in the yard - it is convenient to keep the results on a single sheet. This is the classic round-robin table: the players down the rows and the same players across the columns, with the score of their individual game where they meet. Below are three ready forms, for 10, 15 and 20 players. Download the one you need, print it on A4 and fill it in by hand. Below that there is a worked example with real figures.

Download the templates

This is a blank tournament table: the grid, the header and the final columns are already ruled, and the names and results are written in by hand. It is free to download with no registration, and the file is ready to print on A4.

All three forms are made the same way and differ only in the size of the grid. The fewer the players, the larger the cells - choose by the number of players who will realistically turn up.

A table for 10 players

The largest cells - easy to fill in by hand and to pin on the wall. A good choice for a school club or a family or office tournament.

A full round robin: 45 games, 9 rounds.

A tournament table template for 10 players, A4 format
Download the one for 10 players
PDF · A4 landscape · black-and-white printing
A table for 15 players

The classic size for a club round robin. The number of players is odd, so one player is free in every round.

A full round robin: 105 games, 15 rounds.

A tournament table template for 15 players, A4 format
Download the one for 15 players
PDF · A4 landscape · black-and-white printing
A table for 20 players

The most that fits on A4 without becoming unreadable. The cells are smaller - for a tournament this size it is better to print on A3 or keep the table in the bot.

A full round robin: 190 games, 19 rounds.

A tournament table template for 20 players, A4 format
Download the one for 20 players
PDF · A4 landscape · black-and-white printing

What this table is

This is a round-robin table(also called a crosstable): every player plays every other. On the left are the player's number and surname, and beyond them the columns with the opponents' numbers. The result of a game is written in the cell where they cross. The grey diagonal is the «against yourself» cells, and they stay empty.

On the right are three final columns: TB (the tie-break that separates equal scores), Points and Place. The «Rank» column is for official tournaments - in a friendly event you can leave it empty.

How to fill the table in: a worked example

Here is the same 10-player form, but filled in to the end - the tournament has been played and the placings decided. Let us use it to go through what goes where.

An example of a filled tournament table: a round robin for 10 players with results, points, tie-break and placings
An example of a completed round-robin tournament table for 10 players
  1. 1The header. We wrote in the name of the tournament («Vibe Chess Club Cup») and the date. At the bottom of the sheet the chief arbiter and the secretary signed - for an official record that is compulsory.
  2. 2The players.The surnames go into the «Surname, initials» column, with the rank beside them (candidate master, first category, second category, unranked). The order in the list sets the players' numbers for the whole tournament: Ivanov is No. 1, Petrov No. 2 and so on. The same numbers appear in the column headers.
  3. 3The result is written twice. Every game produces two entries, mirroring each other. Ivanov (row 1) drew with Kuznetsova (No. 4): row 1 column 4 holds ½, and row 4 column 1 holds ½ as well. For a win it is 1 to the winner and 0 to the loser. This is the key rule: if one cell holds 1, the mirror cell must hold 0.
  4. 4The points. Simply the sum along the row. Ivanov has nine games: eight wins and one draw - 8½ points. Novikov (No. 10) has a single draw in the whole tournament - ½ a point.
  5. 5The tie-break. It is only worked out when players are level on points (how to calculate it is in the next section). Petrov and Kuznetsova are level, on 6½ each.
  6. 6The place.First by points, and where those are equal, by the tie-break. Kuznetsova has a tie-break of 24.75 against Petrov's 23.25, so second place is hers and Petrov is third - even though they have the same number of points.

A common beginner's mistake is to fill in only «your» half of the table. The row totals then fail to add up and the standings have to be worked out all over again. Enter both cells straight after the game, while the result is still fresh.

A one-line check

Add up everyone's points. The total must match the number of games played - every game hands out exactly one point between two players (1+0 or ½+½). In the example above: 8½ + 6½ + 4½ + 6½ + 4½ + 4 + 4½ + 3 + 2½ + ½ = 45, and that is exactly the 45 games of a 10-player round robin. If it does not add up, a cell has been missed somewhere or a result has been entered on one side only.

A few more rules that save the arbiter's nerves:

  • Fill it in with a pen rather than a pencil, and do not white anything out: cross out a disputed cell and write the correct value beside it - that way the history of corrections is visible.
  • Do not move players around after the tournament has started: the numbers in the column headers are tied to the rows, and rearranging them makes the whole grid shift.
  • A no-show counts as a loss: 1 to the opponent, 0 to the absentee. If neither turns up, both get 0.
  • Fill in the points and the placings only once every game has been played, otherwise you will be rewriting them after every round.

How the tie-break is calculated

In round-robin tournaments ties on points are broken by the Sonneborn-Berger score It is worked out like this: the sum of the points of all the opponents the player beat, plus half the sum of the points of those they drew with. Games lost do not count towards it.

The logic is simple: beating a strong player who scored a lot weighs more than beating an also-ran. Whoever has the higher score stands higher in the table. In the example above that is exactly how second and third place were separated.

Which form to choose

  • 10 players - 45 games, 9 rounds. The cells are large, and it can realistically be played over two or three evenings.
  • 15 players - 105 games, 15 rounds. A club format spread over several weeks.
  • 20 players - 190 games, 19 rounds. A long tournament: it only makes sense if the players meet regularly.

The main thing about the round robin: the number of games grows as the square. Double the players and the number of games goes up fourfold. So if you have a lot of people, or the tournament has to be finished in one evening, a round robin will not do - take the Swiss system: there a 16-player tournament fits into 5 rounds instead of 15.

Printing and format

  • A4, landscape - the whole grid fits, right up to 20 players.
  • Black and grey only: it prints on any printer and needs no colour cartridge.
  • No logos and no advertising - you can pin it on the club wall or file it with the records.
  • If there are fewer players than rows on the form, the extra rows and columns simply stay empty.
  • The form for 20 is easier to print on A3 - choose scaling when printing and the cells get larger.

How the Swiss system differs from a round robin

These are two different ways of deciding who plays whom. The round-robin table above is for the first. The difference is fundamental, and it decides whether the tournament fits into one evening or stretches over a month.

  • The round robin: the pairs are known in advance - everyone plays everyone. The number of rounds is rigidly tied to the number of players, so the tournament is long, but the outcome is as objective as it gets: everyone played everyone on equal terms.
  • The Swiss: the pairs are set afresh before each round - your opponent is picked from the players on the same score. Those who lost play those who lost, and the leaders play the leaders. There are no repeat meetings and the colours alternate. You set the number of rounds yourself, and it does not depend on the number of players.
A tournament for 16Round robinSwiss
Rounds155
Games in total12040
Games per player155
Tie-breakSonneborn-Berger scoreBuchholz score
Fits into one eveningNoYes

Hence a simple rule: up to 8-10 people with time to spare - a round robin, it is fairer. More people, or a single evening - a Swiss. There is more on the number of rounds in how many rounds in a Swiss system.

The main practical difference for the organiser: a round-robin grid can be ruled up in advance and kept on paper, and a Swiss one cannot. Before every round you have to sort everyone by points again, keep apart those who have already played and keep track of the colours. At 20 players that is already beyond doing by hand - which is why Swiss tournaments are run in software.

Paper works, but it has a ceiling

A printed form is a perfectly good solution for a small round robin: nothing breaks, runs out of battery or loses signal. But paper has a limit, and it arrives sooner than you would think:

  • The table exists in a single copy: players cannot see where they stand until they come over to the arbiter.
  • The points and tie-breaks are worked out by a person - which means that sooner or later they will slip, and the whole sheet has to be redone.
  • For the Swiss system paper barely works at all: the pairing for every round has to be done by hand.
  • After the tournament the sheet gets lost, and no history of results builds up.

All of this was automated long ago, free of charge and in two ways to choose from - through a Telegram bot or right through the site. Below is how to start a tournament in each.

Option 1: the tournament through a Telegram bot

It suits the case where the players are on their phones anyway: everyone registers themselves, gets their own pairs and records their own result. The organiser needs neither a computer nor paper.

  1. 1Open the bot. Go to Vibe Chess Bot and press «Start». No separate registration or passwords are needed - you sign in with your Telegram account.
  2. 2Create a tournament. The bot walks you through a wizard: the name («Friday blitz»), the date and start time in the format 25.05.2026 18:00, the number of rounds, and at the end the maximum number of players, the entry fee (0 if it is free) and a description with the rules. The optional fields can be skipped.
  3. 3Choose the number of rounds. There is a guide right in the bot: 8-16 players - 5 rounds, 17-32 - 6, 33-64 - 7. This is the main saving over a round robin.
  4. 4Open registration. Players find the tournament in the list for their city and sign up themselves. Those without Telegram are added by the organiser by hand, as a guest by name - they play in the general pairing on equal terms with everyone else.
  5. 5Close entries and start the first round. The field is fixed and the bot does the pairing itself: it does not pair those who have already met, it alternates colours, and with an odd number of players it hands out a bye by itself. Every player gets a message with their table number and their opponent.
  6. 6Collect the results. After the game the players press a button with the outcome. If both give the same answer the result is accepted; if they differ, the bot flags a dispute and calls the organiser. A player checks their own details with the commands /my_pairing and /standings.
  7. 7The next round is one button. The table with points and the Buchholz score is recalculated automatically after every round, and every player can see it. At the end the bot announces the final standings.

The full version with a walkthrough of every screen is in the organiser's guide. What a player does is in how to play without Telegram.

Option 2: the fallback - the tournament through the site

It happens that Telegram will not open for most of the players and people have already turned up to play. For that case the site has an online tournament section - a web version that works in an ordinary browser, with nothing to install and no messenger needed.

This is a deliberately stripped-down option

The web version has fewer features than the bot: it does not send the pairs to each player privately and it does not collect results from the players themselves - the organiser does all of that. Its job is a different one: to stop a tournament falling through when people have already gathered for it. If Telegram is working, run it through the bot, where there is more to work with.

  1. 1Open the section. Go to the page online tournament on a computer, a tablet or a phone - the app starts right on the page.
  2. 2Enter the players. The organiser types the list in on the spot - the players need download nothing and register for nothing.
  3. 3Start the rounds. The Swiss pairing is calculated by itself, and the pairs are listed by table - you can show them on a screen or print them out.
  4. 4Enter the results and watch the table. The organiser enters the results, and the points and the tie-break are recalculated automatically.

Both ways are free and score the tournament by the same rules. And one does not get in the way of the other: many organisers run the tournament in the bot and hang a printed form on the wall so that everyone can see. There is more on the features in tournament software.

It is convenient to play the games with an online chess clock- the timer works right in your phone's browser, and there is nothing to download there either.

A bigger tournament is easier in the bot

A round-robin table is good for up to 15-20 people and several weeks of play. If you have more players, or the tournament has to happen in a single evening, open Vibe Chess Bot or an online tournament in the browser: the pairing, the pairs and the table are all worked out for you.

Frequently asked questions

How do the three files differ?

Only in the size of the grid: the forms are made for 10, 15 and 20 players. The structure is the same - number, surname, rank, opponent cells, tie-break, points and placing. The fewer the players, the larger the cells and the easier it is to write by hand.

Which form should I choose if I do not know the exact number of players yet?

Take one with room to spare: the extra rows and columns simply stay empty, and it makes no difference to the scoring. For an expected 12-14 people, for instance, it makes sense to take the form for 15.

How do I mark the results in the cells?

A win is 1, a loss is 0 and a draw is ½ (or 0.5). The result of every game goes straight into two cells: the row of one player and the mirror cell in their opponent's row.

What goes in the tie-break column?

The Sonneborn-Berger score: the sum of the points of the opponents you beat, plus half the points of those you drew with. It is only needed to separate players on the same number of points - if nobody is level, you can leave the column empty.

How long will a round robin take?

Count by the number of rounds: 9 rounds for 10 players, 15 for 15 and 19 for 20. In a single evening you can realistically only play blitz, and only in a small group. The round robin is a format for a club that meets regularly.

What is the «Rank» column for?

For official tournaments: it holds the player's sporting rank or rating. In a friendly tournament you can leave the column empty or use it for something of your own - a school class, a department or a team name, for instance.

Do the tables cost anything?

No, all three templates are free. Download them, print as many as you like and use them at your tournaments - no registration needed.

Can I print them on A3?

Yes. The files are made in A4, but when printing you can choose to scale them to A3 and the cells get larger. For the 20-player form this is particularly handy if the table hangs on the wall and several people fill it in.

Is the template suitable for the Swiss system?

No, this is a round-robin table, where everyone plays everyone. In the Swiss system opponents are decided afresh each round, so you need a different form: a list of players and the results by round. That kind of tournament is easier to keep in the bot than on paper.

How does the Swiss system differ from a round robin?

In a round robin everyone plays everyone, so the number of rounds is tied to the number of players: for 16 people that is 15 rounds and 120 games. In a Swiss the opponent is picked before each round from the players on the same score, and you set the number of rounds yourself: the same 16 people play 5 rounds and 40 games. The round robin is more objective; the Swiss fits into one evening.

How do I check that the table has been filled in without mistakes?

Add up everyone's points: the total must match the number of games played, because every game hands out exactly one point between two players. For a round robin of 10 that is 45, for 15 it is 105 and for 20 it is 190. If it does not add up, a cell has been missed somewhere or a result has been entered on one side only.

How do I mark a player who does not turn up?

As a loss: 1 to the opponent, 0 to the absentee. If neither player turns up, both get 0 - that game then hands out no point at all rather than one, and the check total has to be reduced by one.

Is there a way not to count all this by hand?

Yes. The main tool is the @vibechessbot bot on Telegram: it does the pairing, sends out the pairs, collects results from the players themselves and recalculates the table with the Buchholz score. If Telegram is not working for your players, there is a fallback web version on the site - it has fewer features and the organiser enters the results, but it will get the tournament played. Both are free.

Do players need Telegram in order to play?

No. If the tournament runs through the bot, the organiser adds such a player as a guest by name and they play in the general pairing - the organiser enters their results. And if you run the tournament through the section on the site, the organiser types in the whole player list on the spot.

The tournament app

A tournament without a paper crosstable

Everything people usually keep in a spreadsheet is already in the app: pairings, points, tie-breaks, round order. Free, with no subscriptions and no cap on the number of players.

Swiss

many players, one evening: four or five rounds are enough

Round robin

the fairest format for six to ten players

Free meetup

not a tournament, just an evening of chess - who is free and who is playing is visible in the app

How the tournament runs
  1. 1Set up the event: date, venue, time control
  2. 2Send the link - players register themselves
  3. 3Pair each round with one tap and enter the results
  4. 4Standings and the TRF export are produced automatically

More than a bot: the app, FIDE rules and a TRF report

  • The app. Besides the bot there is an app - inside Telegram and simply at playvibechess.com/app: what is on in your city, the player list, a live table, the current round, your profile and game history - everything that is awkward to read as chat messages.
  • Pairings by FIDE rules. Pairings are computed by bbpPairings, an open-source engine implementing the Dutch system: score groups, floats on an odd field, colour alternation, no rematches and no two byes in a row.
  • A TRF report. A finished tournament exports as a single file in the FIDE data exchange format - the one arbiter software and federations accept. Your profile stores the FIDE ID, national federation code, title, sex and date of birth for it.
  • Free. All of the above, with no subscriptions, paid plans or limits on the number of tournaments and players.

Full overview

Missing a feature? Message the developers

The bot is constantly improved based on real tournaments. If you need a feature that isn't there yet, message the developers right inside the bot with the /support command. Many features appeared exactly because organizers asked for them, and useful ideas get added quickly.

What to read next

With no paper at all - an online tournament table. Getting ready to start - the organiser's checklist. From scratch, step by step - how to run a tournament. Clocks for the games - an online chess clock.

Alexey Mudry
Alexey Mudry · hosted 15 Vibe Chess events

At the board since childhood: hazy about his rating, precise about every rook he has blundered. Counts an evening as a good one if the opponent stayed to talk afterwards instead of rushing off to check with an engine. Message →