⚖️ Team Balancer
Rate each player’s skill on any scale you like, and split the group into teams that start the game as evenly matched as possible — no more guessing at fair sides.
Why greedy balancing works so well
Splitting players into perfectly equal teams is, in the general case, a hard combinatorial problem — checking every possible grouping gets expensive fast as the group grows. Fortunately, a simple greedy shortcut gets remarkably close: always hand the next-strongest remaining player to whichever team is currently weakest.
This is the same “longest processing time first” rule used to balance workloads across machines in computer science, and it comes with a guarantee — the split it produces is never worse than one player’s skill rating away from the mathematically optimal division.
Frequently Asked Questions
How does the balancing algorithm actually work?
It sorts players from highest to lowest skill rating, then repeatedly assigns the next player to whichever team currently has the lowest total. This is the classic 'longest processing time first' approach from scheduling theory, and it reliably produces a tight, fair split without trying every possible combination.
What scale should I use for skill ratings?
Any consistent scale works — 1 to 10, 1 to 5, or your own house system. What matters is using it consistently across all players in the same session, since the tool only compares relative values, not an absolute standard.
Will the two teams always end up with exactly equal totals?
Not always — perfectly equal totals aren't always possible depending on the specific skill numbers, but the greedy method gets very close in practice and is provably never more than one player's skill rating away from the best possible split.
Can I split a group into more than 2 teams?
Yes — set the number of teams to anything from 2 up to the number of players, and the same balancing logic spreads players across all of them.
A fair starting split for team-based party and social games — real skill still varies by game and by night.