Next-round Score Pairing Workbench
Build a complete next-round pairing for 2–18 active players, avoiding previous opponents and minimizing the exact total score gap. Export a round CSV, JSON report or printable table.
Loading tool…
How to use Next-round Score Pairing Workbench
An informal club or classroom round needs each participant paired once, without repeating a declared opponent. Enter current scores and an explicit bye when needed. This workbench searches every relevant matching subproblem to minimize the sum of score differences and returns a complete round or an honest infeasible or budget-stopped diagnostic.
- Replace the example with 2–19 distinct players, case-sensitive IDs and literal labels. Write each score as a nonnegative decimal string with at most six decimal places.
- List every unordered previous-opponent pair to forbid. Keep only current player IDs; repeated or reversed duplicate pairs are rejected.
- For an even roster set bye to null. For an odd roster explicitly name one player as bye; this choice is yours and does not earn points in this model.
- Run the exact search. Check the status, complete player coverage, pair gaps and operation count. Unknown means the budget stopped the search, not that a round is impossible.
- Download JSON for the full evidence, Round CSV for a complete optimal roster, or Printable HTML for a readable table. Check IDs and entered history before use.
Good to know
- This is an informal minimum-sum matching model, not an implementation of FIDE, Swiss, Dutch or another official pairing system. It does not assign colors, home/away sides, ratings, float groups, tie-break rankings or bye points, and does not certify fairness or event compliance.
- Use 2–18 active players, or 3–19 total players with one explicitly declared bye. The tool never selects the bye. Labels are at most 80 UTF-16 code units; title at most 60. IDs use 1–24 ASCII letters, digits, underscore, dot or hyphen. Labels may contain Unicode but not controls, lone surrogates or forbidden XML characters.
- Scores are strings from 0 through 1,000,000 in ordinary nonnegative decimal notation, with at most six fractional places. Exact integer millionths determine all score gaps and objectives. Negative scores, exponent notation and extra decimal places are rejected. This model does not import or verify match results.
- Enter up to 171 distinct unordered previous pairs among the current roster. Every active player must appear exactly once in a returned round, with no listed repeat. Prior byes and players outside this roster must be resolved by the organizer before input.
- The objective minimizes only the sum of absolute score gaps. It does not minimize the largest gap or enforce the most equal-score pairs. Ties return one deterministic optimum using entered player order; board numbers do not assign sides or colors.
- The search uses at most 262,144 memo slots, recursion depth 9 and 3,000,000 candidate-pair checks. A user budget from 1 through 3,000,000 can stop earlier. At most 2,228,224 checks are needed for any admitted 18-active-player model. Budget stops return unknown with no partial pairing. Completed infeasibility is separate, and round CSV is available only for an optimal complete round.
- CSV prefixes an apostrophe before formula-like cells, including whitespace followed by =, +, - or @. JSON and escaped HTML preserve original labels. Spreadsheet import settings and printing remain under your control.
- Browser-local processing, with no upload, persistence, external resources or code execution. Model JSON is limited to 30,000 characters, 10,000 values and 18 levels. Generated HTML is capped at 750,000 characters, round CSV at 35,000 and the complete report at 1,000,000. Inspect downloaded files before sharing or printing.
Common questions
Why can the result differ from a formal Swiss pairing or a greedy same-score pairing?
This tool has one declared objective: a full no-repeat pairing with the smallest total absolute score gap. A locally closest opponent can block a better or feasible complete round, so the search compares complete matchings. Formal event systems include additional ordering, bye, color and float rules that are outside this model; use the event's required system when those rules apply.
Are my inputs uploaded or retained?
No. Computation and artifact construction stay in the current browser tab. Downloads are local files; no outside data service, storage or account is required.
Keep going with related tools
All education →Round-Robin Fixture Generator
Create all-pairs rounds with explicit odd-participant byes and an optional mirrored second leg.
EducationSeeded Knockout Bracket Builder
Build a source-linked knockout bracket with transparent seed slots, byes and pending winner dependencies.
EducationConstrained Team Roster Builder
Find a complete roster with exact team sizes and explicit pairs that must remain apart, or return a bounded feasibility result.