Sonneborn-Berger calculator

Fill in the cross-table of a round-robin and the points, the Sonneborn-Berger score and the final placings are worked out for you. Below the table the calculator shows how each score was built up: who the player beat, who they drew with and what it adds up to. Nothing to install, everything runs in your browser.

Type the names and mark the results in the cross-table: clicking a cell cycles through 1 (win), ½ (draw), 0 (loss) and empty. The mirror cell fills in automatically, so the table can never contradict itself.

Cross-table of results

15 of 15 games played
Player123456Points
1
×
4
2
×
3
×
4
×
5
×
2
6
×

Final standings

Places are decided by points, and within equal points by the Sonneborn-Berger score.

PlacePlayerPointsSB score
1Paul Grigoriev49
2Oleg Tarasov
3Daria Belova
4Nikita Orlov
5Maria Savelieva24
6Ivan Krylov

Rows are highlighted where several players share the same number of points: that is exactly where the score decides who finishes higher.

How each score adds up

Paul Grigoriev4 points

Wins over: Daria Belova (2½), Nikita Orlov (2½), Maria Savelieva (2)7

Draws with: Oleg Tarasov (2½), Ivan Krylov (1½)half of 4 = 2

7 + ½ × 4= 9
Oleg Tarasov points

Wins over: Daria Belova (2½)

Draws with: Paul Grigoriev (4), Nikita Orlov (2½), Ivan Krylov (1½)half of 8 = 4

+ ½ × 8=
Daria Belova points

Wins over: Nikita Orlov (2½), Maria Savelieva (2)

Draws with: Ivan Krylov (1½)half of = ¾

+ ½ × =
Nikita Orlov points

Wins over: Maria Savelieva (2), Ivan Krylov (1½)

Draws with: Oleg Tarasov (2½)half of =

+ ½ × =
Maria Savelieva2 points

Wins over: Oleg Tarasov (2½), Ivan Krylov (1½)4

4 + ½ × 0= 4
Ivan Krylov points

Draws with: Paul Grigoriev (4), Oleg Tarasov (2½), Daria Belova (2½)half of 9 =

0 + ½ × 9=

The formula behind the number

SB = Σ scores of players you beat + ½ × Σ scores of players you drew with

The idea is that not every point costs the same. A win over the leader who finished on a big score weighs more than a win over the tail-ender, and a draw with a strong opponent brings in half of their total. Games the player lost do not enter the sum at all.

So between two players level on points, the one who earned them in the hard games finishes higher. In the demo tournament loaded by the «Load example» button, second place goes to a player with a single win: three draws against strong opponents produced a higher score than two wins each did for their rivals.

The score is only ever compared inside a group of players on equal points. A large Sonneborn-Berger number on its own wins nothing: a player with fewer points stays below, however impressive their tie-break looks.

How to use the calculator

1

Set the number of players

Use the plus and minus buttons or type straight into the field. The calculator covers tournaments from three to twelve players, the usual size of a club or home round-robin.

2

Type in the names

Names are carried into the breakdown below the table, so you can see exactly who each half point came from. Leaving the default labels works too.

3

Mark the results in the cross-table

Clicking a cell cycles through win, draw, loss and empty. The mirror cell is filled in automatically, so recording «both players won» is technically impossible.

4

Read the final standings

Points, the Sonneborn-Berger score and the places are recalculated on every click. Rows where several players hold the same number of points are highlighted, because that is where the score actually decides the placing.

5

Check the breakdown

Under the table the calculator shows how each score was built up: who the player beat, who they drew with and what the totals came to. That is what you show a player who asks why they finished second.

If the tie-break is level too

This happens in small events, where there are few possible values and they repeat easily. Then you go down the list of tie-breaks in your regulations. For round-robin events the usual order is: the result of the direct encounter between the tied players, then Sonneborn-Berger, then the Koya system - the points scored against opponents who finished on 50 percent or better.

The organizer rule that matters: fix the order of tie-breaks in the regulations before round one. An argument about who finished higher is settled by the published regulations, never by a discussion after the closing ceremony. If your event runs on the Swiss system instead, the standard tie-break there is Buchholz, and the walkthrough for setting up an event from scratch is in the guide to organizing a chess tournament.

Related reading: how many rounds a Swiss needs, the organizer guide and the tournament FAQ.

So you do not retype results by hand

A calculator is what you want when the tournament is already played and you have the completed cross-table in front of you. If the event is still ahead, it is easier to run it in the Vibe Chess app: pick the round-robin format, add the players including guests without Telegram, and the round schedule is built from the field automatically. Results go in with a button press after each game, the table updates as you go, and the finished event exports as a TRF report.

Questions about the Sonneborn-Berger score

What formula does the calculator use?+

The Sonneborn-Berger score is the sum of the final scores of all opponents the player defeated, plus half the sum of the scores of the opponents they drew with. Opponents the player lost to do not count at all. That is the wording of the FIDE tie-break regulations, and the same measure is often called simply the Berger score or SB.

Is Sonneborn-Berger the same thing as the Berger score?+

Yes. The full name is Sonneborn-Berger, after Wilhelm Sonneborn and Johann Berger; in English-language software it is usually abbreviated to SB, and in Russian tournament practice it is normally shortened the other way round, to the Berger coefficient. There is no difference in the formula.

Can I run the numbers before the tournament is over?+

Technically the calculator will process a partly filled cross-table, but the number will not mean much. The score is built on the final totals of your opponents, and those keep moving until the last round: one draw by a tail-ender in the final game can reshuffle the top of the table.

Why does a player with fewer wins have a higher score?+

That is the point of the tie-break. It weights results by the strength of the opposition, so three draws against the leaders can be worth more than two wins over the bottom boards. This is exactly why it is considered a fair tie-break for round-robin events.

Does this work for a Swiss tournament?+

The formula is the same, but the cross-table here assumes a round-robin where everyone plays everyone. In a Swiss the players meet only a fraction of the field, and the standard tie-break there is Buchholz, which sums the scores of all your opponents rather than only the ones you beat or drew.

How do I record a forfeit?+

Under the FIDE regulations a win by forfeit counts towards the score like any other win, so mark it as a win. If your regulations annul the game entirely, leave the cell empty instead.

What if two players have the same Sonneborn-Berger score?+

You move on to the next tie-break listed in your tournament regulations. A common order for round-robin events is: the result of the direct encounter between the tied players, then Sonneborn-Berger, then the Koya system - the points scored against opponents who finished on 50 percent or better.

Is my data saved anywhere?+

No. Everything is computed in your browser and nothing is sent anywhere. Reloading the page resets the table, so copy the result down or take a screenshot before you close the tab.

Can I use it for a double round-robin?+

The cross-table has one cell per pair of players, so for two cycles add the results of both games and enter the total: two wins mean a full point entered twice, while a win and a loss cancel out to the equivalent of a draw. For an exact double round-robin it is easier to run the event in software that tracks each game separately.