From entrant list to a checked order of play / KitForma

Tournament scheduler — round robin, brackets & court planning

Turn a player or team list into a round-robin schedule or a seeded elimination bracket. Reserve courts, enforce explicit rest gaps, enter results and adjust reservations. Check conflicts before sharing a print-ready order of play. The project stays in your browser and can be saved as editable JSON.

No account neededRuns in your browserFree to use
Tournament Schedule DeskLOCAL WORKSPACE
Choose · review · download
From question to next step

Tournament Schedule Desk

An organizer planning tool. The bounded placement method does not guarantee the shortest schedule; an unplaced match alone is not proof of infeasibility.

Supported scope: Round robin: 2–16 entrants (up to 120 matches). Single elimination: 2–32 entrants. Up to 8 courts, 12 explicit roster identities per entrant, 1–240 minute matches, 0–240 minute rest and a continuous window up to 2,880 minutes. · Uniform match duration; no player availability calendar, court closure, referee assignment, group-to-playoff stage, consolation draw, double elimination, live room or server synchronization. Input order is elimination seed order; no random seeding or sport-specific rule certification. · Elimination reserves all possible participants even after results are known. Manual edits do not move other matches automatically. An unplaced match may reflect the heuristic ordering rather than impossibility; explicit lower bounds are reported separately. · UTF-8 project imports up to 180 KB. PDF uses the existing self-hosted Liberation Sans font and rejects unsupported glyphs with a clear message; use supported Latin, Greek or Cyrillic labels. Names up to 40 characters; title up to 80. Export runs in a cancellable local worker with a 45-second limit. No automatic saving.

Set the draw and scheduling window

Required fields are marked with an asterisk.

01

A version 1 project from this tool, no more than 180 KB. Imports are validated and regenerated; no arbitrary HTML or SVG is executed.

The round-robin example has six teams; the elimination example has five seeds and real byes.

Up to 80 visible characters. It appears in the exports.

2–16 for round robin or 2–32 for elimination. This order is elimination seed order. Optional shared-player checking: Falcons | Alex, Sam. Use the same spelling for the same person; comparisons ignore case. Shared players on opposing teams make a fixture unsafe.

1–8 unique labels, up to 30 characters each. Every court is assumed available for the entire continuous window.

For example: Saturday 24 October. This is a printed label, not a timezone or calendar conversion.

Wall-clock time. Crossing midnight is labeled Day +1 or Day +2; no DST adjustment or overnight break is inferred.

Include expected playing and court-changeover time in this value.

Measured from one match ending to the next starting for the same possible entrant or explicitly named player. This is your chosen rule, not a governing-body recommendation.

A match must end inside this window. The tool reports incomplete placements and necessary lower bounds separately.

Real vector schedule pages, an elimination overview/detail pages when applicable, and the validation assumptions.

Loading the local tool… Your files stay in this browser.

Tournament editor & constraint report

Review your output, then save it to your device.

02

Make the next step clear.

Your findings, assumptions and next steps will appear here after you run the check.

Tournament Schedule Desk · https://tournament.kitforma.com/ · KitForma

01

Round robin and seeded single-elimination draws

02

Court, participant, dependency and rest checks

03

Editable results with real vector and spreadsheet-friendly files

Good questions

Before you start

Does it find the shortest possible tournament schedule?

No. It places matches deterministically in draw-round order, choosing the earliest available court under the declared reservations. It checks the resulting schedule independently of that placement logic. If a match remains unplaced, another arrangement may still fit. Court-capacity and participant-path lower bounds are reported separately; a window shorter than a necessary bound is a genuine constraint failure.

How are byes and unknown elimination winners handled?

The entrant list becomes seed order and is placed in a power-of-two bracket. Empty seed positions create byes that advance without a court or a result. Future matches reserve every possible entrant from the incoming branches, so the plan stays safe whichever entrant wins. Results reveal actual names without silently shortening those reservations. Enter preceding winners before scoring the next match.

Can one person appear on more than one team?

You may list explicit roster identities using Team | Player one, Player two. Equal identities are compared ignoring case and Unicode normalization; distinct spellings are not guessed to be the same person. A shared person on opposing sides makes that fixture unsafe. In elimination, even a possible future opposition is flagged because the draw cannot be guaranteed playable for all winners. Fix the rosters or entrant setup before using the plan.

What happens when I change a result or manually move a match?

Changing or clearing a result clears all dependent results so an old winner cannot remain in a later round. Changing a manual slot affects only that reservation, and the checker reports any court, participant, rest, window or dependency conflict. It does not silently move other matches. You can restore the automatic slot, clear all manual slots, undo an applied change or reset the editor.

Which standings and time rules are used?

Round-robin standings award three points for a win, one for a draw and none for a loss. Equal points share rank; no score-difference, head-to-head or sport-specific tie-break is applied. Every match uses one duration and rest is an end-to-next-start gap. Times are continuous wall-clock offsets with Day +1 labels after midnight, without timezone, DST, court-closure or personal-availability handling.

Can I print, share or resume the tournament?

Download vector PDF/SVG, a schedule CSV, passive offline print HTML, validation JSON and an editable project JSON, separately or as a ZIP. The PDF embeds a subset of the bundled font; unsupported glyphs are rejected rather than silently replaced. CSV neutralizes possible formula prefixes; JSON preserves the original labels. Save the project to resume later. There is no account, automatic cloud saving or live collaborative room.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-19. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.