Choose your tool

SPORTS TOOL

Group Stage Match Timetable Planner

Online group stage match timetable planner. Schedules group matches only. Does not schedule qualification-dependent knockout matches or optimize the finish time.

â—‡ Browser only
0 lines · 0 characters
Ready when you are
Your results will appear here.
Copy or download your result below.
LESS BUSYWORK, MORE DONE

Three steps. That’s it.

A useful toolkit for text, data, images and calculations.

  1. 01

    Add your input

    Choose a tool, enter values or select a file.

  2. 02

    Make it yours

    Adjust the options and run the action.

  3. 03

    Take the result

    Copy the result or download its file.

football tournament schedule maker online

Use group stage match timetable planner online with your own event configuration. Schedules group matches only. Does not schedule qualification-dependent knockout matches or optimize the finish time.

How to use it

Select Try example, replace the JSON values while retaining the property names, and select Run tool. Read the preview, copy the JSON result or download the table.

Options and example settings

OptionChoices / valueExample default
JSON key: groupsUse the list/object structure shown in the example.[{"name":"A","teams":["Falcons","Lions","Eagles","Wolves"]},{"name":"B","teams":["Bears","Sharks","Tigers","Owls"]},{"name":"C","teams":["Foxes","Hawks","Panthers","Ravens"]}]
JSON key: courtsUse number in the displayed units.2
JSON key: matchMinutesUse number in the displayed units.20
JSON key: turnoverMinutesUse number in the displayed units.5
JSON key: minRestMinutesUse number in the displayed units.20
JSON key: startUse string in the displayed units."09:00"
JSON key: dayLimitMinutesUse number in the displayed units.480

Calculation method

Generate one round robin per group and greedily allocate the earliest court and team-available time, including turnover and minimum rest.

Worked examples

Worked example for group stage match timetable planner. Schedules group matches only. Does not schedule qualification-dependent knockout matches or optimize the finish time.

Group Stage Match Timetable Planner — example

Settings: Use the rules in the example input

Input:

{
  "groups": [
    {
      "name": "A",
      "teams": [
        "Falcons",
        "Lions",
        "Eagles",
        "Wolves"
      ]
    },
    {
      "name": "B",
      "teams": [
        "Bears",
        "Sharks",
        "Tigers",
        "Owls"
      ]
    },
    {
      "name": "C",
      "teams": [
        "Foxes",
        "Hawks",
        "Panthers",
        "Ravens"
      ]
    }
  ],
  "courts": 2,
  "matchMinutes": 20,
  "turnoverMinutes": 5,
  "minRestMinutes": 20,
  "start": "09:00",
  "dayLimitMinutes": 480
}

JSON result from this input and these rules:

Output:

{
  "matches": [
    {
      "home": "Falcons",
      "away": "Wolves",
      "group": "A",
      "round": 1,
      "court": 1,
      "startMinute": 0,
      "endMinute": 20,
      "durationMinutes": 20,
      "start": "09:00",
      "end": "09:20"
    },
    {
      "home": "Bears",
      "away": "Owls",
      "group": "B",
      "round": 1,
      "court": 2,
      "startMinute": 0,
      "endMinute": 20,
      "durationMinutes": 20,
      "start": "09:00",
      "end": "09:20"
    },
    {
      "home": "Foxes",
      "away": "Ravens",
      "group": "C",
      "round": 1,
      "court": 1,
      "startMinute": 25,
      "endMinute": 45,
      "durationMinutes": 20,
      "start": "09:25",
      "end": "09:45"
    },
    {
      "home": "Eagles",
      "away": "Lions",
      "group": "A",
      "round": 1,
      "court": 2,
      "startMinute": 25,
      "endMinute": 45,
      "durationMinutes": 20,
      "start": "09:25",
      "end": "09:45"
    },
    {
      "home": "Tigers",
      "away": "Sharks",
      "group": "B",
      "round": 1,
      "court": 1,
      "startMinute": 50,
      "endMinute": 70,
      "durationMinutes": 20,
      "start": "09:50",
      "end": "10:10"
    },
    {
      "home": "Panthers",
      "away": "Hawks",
      "group": "C",
      "round": 1,
      "court": 2,
      "startMinute": 50,
      "endMinute": 70,
      "durationMinutes": 20,
      "start": "09:50",
      "end": "10:10"
    },
    {
      "home": "Eagles",
      "away": "Falcons",
      "group": "A",
      "round": 2,
      "court": 1,
      "startMinute": 75,
      "endMinute": 95,
      "durationMinutes": 20,
      "start": "10:15",
      "end": "10:35"
    },
    {
      "home": "Wolves",
      "away": "Lions",
      "group": "A",
      "round": 2,
      "court": 2,
      "startMinute": 75,
      "endMinute": 95,
      "durationMinutes": 20,
      "start": "10:15",
      "end": "10:35"
    },
    {
      "home": "Tigers",
      "away": "Bears",
      "group": "B",
      "round": 2,
      "court": 1,
      "startMinute": 100,
      "endMinute": 120,
      "durationMinutes": 20,
      "start": "10:40",
      "end": "11:00"
    },
    {
      "home": "Panthers",
      "away": "Foxes",
      "group": "C",
      "round": 2,
      "court": 2,
      "startMinute": 100,
      "endMinute": 120,
      "durationMinutes": 20,
      "start": "10:40",
      "end": "11:00"
    },
    {
      "home": "Owls",
      "away": "Sharks",
      "group": "B",
      "round": 2,
      "court": 1,
      "startMinute": 125,
      "endMinute": 145,
      "durationMinutes": 20,
      "start": "11:05",
      "end": "11:25"
    },
    {
      "home": "Ravens",
      "away": "Hawks",
      "group": "C",
      "round": 2,
      "court": 2,
      "startMinute": 125,
      "endMinute": 145,
      "durationMinutes": 20,
      "start": "11:05",
      "end": "11:25"
    },
    {
      "home": "Falcons",
      "away": "Lions",
      "group": "A",
      "round": 3,
      "court": 1,
      "startMinute": 150,
      "endMinute": 170,
      "durationMinutes": 20,
      "start": "11:30",
      "end": "11:50"
    },
    {
      "home": "Wolves",
      "away": "Eagles",
      "group": "A",
      "round": 3,
      "court": 2,
      "startMinute": 150,
      "endMinute": 170,
      "durationMinutes": 20,
      "start": "11:30",
      "end": "11:50"
    },
    {
      "home": "Bears",
      "away": "Sharks",
      "group": "B",
      "round": 3,
      "court": 1,
      "startMinute": 175,
      "endMinute": 195,
      "durationMinutes": 20,
      "start": "11:55",
      "end": "12:15"
    },
    {
      "home": "Foxes",
      "away": "Hawks",
      "group": "C",
      "round": 3,
      "court": 2,
      "startMinute": 175,
      "endMinute": 195,
      "durationMinutes": 20,
      "start": "11:55",
      "end": "12:15"
    },
    {
      "home": "Owls",
      "away": "Tigers",
      "group": "B",
      "round": 3,
      "court": 1,
      "startMinute": 200,
      "endMinute": 220,
      "durationMinutes": 20,
      "start": "12:20",
      "end": "12:40"
    },
    {
      "home": "Ravens",
      "away": "Panthers",
      "group": "C",
      "round": 3,
      "court": 2,
      "startMinute": 200,
      "endMinute": 220,
      "durationMinutes": 20,
      "start": "12:20",
      "end": "12:40"
    }
  ],
  "minRestMinutes": 20,
  "totalMinutes": 220,
  "planningWindowMinutes": 480,
  "withinWindow": true,
  "algorithm": "Greedy earliest feasible start; not a minimum-duration guarantee."
}

Choose the right tool

Choose a bracket for single elimination, round-robin fixtures for all-play-all pairings, or the group timetable for court and rest allocation. Standings use the supplied scoring rules; a head-to-head mini table does not automatically resolve every competition’s tie-break rules. Organizers should review all draws and schedules before sharing them.

Limitations and common mistakes

  • Schedules group matches only. Does not schedule qualification-dependent knockout matches or optimize the finish time.
  • These tools process supplied data locally. They do not retrieve live scores, contact participants or publish schedules.

Frequently asked questions

How can I use football tournament schedule maker online?

Select Try example, replace the JSON values while retaining the property names, and select Run tool. Read the preview, copy the JSON result or download the table.

Can I save or print this sports result?

Copy the JSON result or download the table. Most tools export CSV for a spreadsheet. The knockout bracket exports a standalone HTML page that you can open and print from your browser. Nothing is saved to a site account.

Where is my input processed?

The bundled tool processes input in your browser. It does not upload tool input to a conversion service. Other site plugins, analytics, advertising and browser extensions may have separate behavior.

Useful next tools

Explore other tools

Open a tool below, use the search, or choose a category to browse its full collection.