Everyday Utilities

Swiss Pairing Generator

List your players and the results to date to pair the next round of a Swiss tournament.

Your numbers

Up to 64 players. Example data.

The first player is listed first in the result: 1-0 means the first player won, 0-1 the second, draw a draw. A bye is written as Name, bye. Leave blank for round 1. Example data.

Result

Boards for round 3

4

Board 1: Fay vs Ana.

Players
8
Round being paired
3
Boards
4
Bye this round
none
Games recorded
8

Round 3 pairings

BoardPlayerOpponentPoints
1FayAna2 vs 2
2DevEli1.5 vs 1
3GusCara1 vs 0.5
4BenHana0 vs 0

Standings

RankPlayerPointsGamesBuchholz
1Fay222
2Ana220.5
3Dev1.520.5
4Eli122
5Gus122
6Cara0.523.5
7Ben023
8Hana022.5
How this was calculated
  1. Rank the players by points, then Buchholz, then name. A win is 1 point, a draw 0.5 and a bye 1.
  2. Starting from the top, each player is paired with the highest-ranked opponent they have not yet played, backing up and trying the next choice whenever that would leave someone without a partner.
  3. With an even number of players there is no bye.
  • This is a simple Swiss method that avoids rematches and keeps scores close. Rules for colors, floaters, tie-break order and byes differ between events, so follow your event rules where they differ.

Calculated using SumPanda.com · https://sumpanda.com/swiss-pairing-generator/

Results are estimates for general information. Verify important figures before relying on them.

Next step

How to use the swiss pairing generator

  1. List the players, one per line. Names cannot contain commas.
  2. Under Results so far, write each finished game as player, player, result. The result is 1-0 if the first player won, 0-1 if the second won, or draw. Write a bye as Name, bye. Leave the box empty for round 1.
  3. Read the pairings for the next round and the standings with points and the Buchholz tie-break.
  4. Copy or download the pairings, play the round, add the results and run it again.

Formula

points: win 1, draw 0.5, loss 0, bye 1

Buchholz = sum of the points of a player's opponents (byes excluded)

rank by points, then Buchholz, then name

Pairing goes down the ranking. Each player meets the highest-ranked opponent they have not played, and the search backs up and tries the next choice whenever a choice would leave someone without a partner. With an odd number of players, the lowest-ranked player who has not had a bye sits out.

Eight players after two rounds

After two rounds the standings are Fay 2 points (Buchholz 2), Ana 2 (0.5), Dev 1.5, Eli 1, Gus 1, Cara 0.5, Ben 0 and Hana 0. The pairings for round 3 are Fay v Ana, Dev v Eli, Gus v Cara and Ben v Hana. No pair has met before, and an independent search found 31 different rematch-free pairings for these results, so this one is a valid choice among several.

In round 1 with no results, players are paired in list order: Ana v Ben, Cara v Dev, Eli v Fay, Gus v Hana. With three players and no games, the lowest in the list, Cara, gets the bye and scores 1 point.

How a Swiss tournament works

A Swiss tournament lets many players meet in a few rounds without anyone being knocked out. Each round pairs players on similar scores who have not played each other. After enough rounds, the standings sort the field without the need for every pair to meet.

A common rule of thumb is to play about as many rounds as the base-2 logarithm of the number of players, rounded up, to find a clear leader, but your event may differ.

What this simple method leaves out

Formal systems add rules for colors, floaters between score groups, accelerated first rounds and several tie-break orders. This page applies the simplest version: no rematches, scores kept close, a fair bye. Follow your own event rules where they differ. For a knockout bracket or round robin, see the Tournament Bracket Generator, and to divide a prize pool afterward the Tournament Prize Payout Calculator.

More sport and game tools

For payouts, swimming and music, try the Tournament Prize Payout Calculator, Swim Critical Speed Calculator and Musical Interval Calculator.

Assumptions and limits

  • Each game has a result of 1-0, 0-1 or a draw; a bye scores 1 point.
  • Results are entered for all rounds played so far, with no round numbers, and players have not been entered twice in a round.
  • Names must match the player list, ignoring capital letters.
  • Up to 64 players are accepted.
  • The example players and results are an illustration. Replace them with your own.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

What if no pairing without a rematch exists?

The page says so instead of forcing one. That happens late in small events. You can allow a rematch by hand, add players or end the event.

Why did one player get a bye while ranked high?

The bye goes to the lowest-ranked player who has not had one. If everyone below already had a bye, it moves up the ranking until it finds a player who has not.

Does it handle forfeits and unplayed games?

Enter a forfeit as a normal result, such as 1-0, and leave unplayed games out. Any special scoring for them is up to your event rules.

How is Buchholz calculated?

It is the sum of the final points of all your opponents. Byes are not counted as opponents. A higher Buchholz means you played stronger opposition.