World Cup 2026 Simulator

48 teams, 104 matches. Odds, groups, bracket.

Loading...

Saved: look.

Start: press Run, then open the tabs.

All 104 matches are played. Results are fixed.

Prediction settings

Most likely champions

Method

Terms: More, Glossary.

Model
Team strength blends FIFA ranking, a rank-seeded Elo-style prior built from embedded results, tournament pedigree, current form and an attack and defense profile. Goals follow a Poisson scoreline distribution with a bounded low-score correction. Venue, weather and host terms adjust expected goals. Coefficients are listed on the How tab.
Runs
Each run replays every unplayed match from a seed (the scenario name plus the run number), so the same scenario, run count and settings repeat exactly. Knockout ties go to extra time, then a seeded penalty model.
Group order
Article 13 of the FIFA regulations: points, then head-to-head points, goal difference and goals among the tied teams, then overall goal difference, goals scored, fair-play score and FIFA ranking. Eight best third-placed teams reach the Round of 32 and are placed using the FIFA Annex C table when available, otherwise a legal allocator checked across all 495 combinations.
Data
The embedded snapshot is dated 20 July 2026 and records all 104 matches. Played results are fixed in every run, so the odds then read 0 or 100 percent. Sources and confidence levels are on the Sources tab.
Checks
On 30 October 2026 the tiebreaker order, the third-place ranking and the Round of 32 slots were compared with the Regulations for the FIFA World Cup 26 (May 2026 edition, FWC2026_regulations_EN.pdf on digitalhub.fifa.com), Article 12.6, Article 13 and Annexe C. Verified: the order of criteria in Article 13 matches the code (head-to-head points, goal difference and goals among the tied teams, repeated among the teams still level, then overall goal difference, goals scored, conduct score and FIFA ranking; for the eight best third-placed teams: points, goal difference, goals scored, conduct score, FIFA ranking). The eight third-place slot lists in Article 12.6 and their match numbers match the data. Differences, left unchanged because the model is frozen: (1) the conduct score is a stored number per team, marked a placeholder in the data, not a count from cards (Article 13, step 2 f and third-place criterion d); (2) the code keeps one FIFA ranking per team and has no fallback to earlier editions (Article 13, steps 3 g and h), and then orders by team name, which the regulations do not provide; (3) the Annexe C table of 495 rows is not embedded: with no cached table the allocator picks a legal slot assignment that equals the Annexe C row in 17 of the 495 combinations, and when the official rows are supplied all 495 resolve exactly; the all-matches-played data shipped here is not affected. Not checked: the pairings in Articles 12.7 to 12.11, extra time and penalties (Article 14), the Live data table parser, and the source of the ratings. Also tested: editing a team rating changes the odds when matches are unplayed, and the scenario name seeds the runs.
Limits
Probabilities, not guarantees. Unofficial, not affiliated with FIFA, not a betting tool. The Checks row above lists what was and was not compared with the regulations.

Groups

12 groups: standings and scores.

Key

Top 2 per group plus the 8 best third places advance. R32 = share of runs reaching the Round of 32.

Best third-placed teams

Knockout bracket

Round of 32 to the final. After Run, each match shows its likeliest winner.

Bracket rules

Slots follow the public bracket. Third places use FIFA Annex C, else a checked allocator.

Chances table

Each team's chance to reach each round.

Darker = higher share.

Tournament snapshot

Facts, schedule, goals, fair play.

More

How to update this

This app is one file. You can change what it says, its numbers and its colours with any plain text editor (Notepad, TextEdit, VS Code). Do not use Word. Work on a copy.

Worked example: rename a team

  1. Open a copy of this file in a text editor. Press Ctrl+F and search for "name":"Haiti". There is one match, in the list of teams.
  2. Change the name, for example to "name":"Haiti Test". Keep the quote marks and the comma. Save the file.
  3. Open the saved file in your browser. If you ever edited data inside the app, press Reset to the data shipped in this file (More, then Your data) so the app reads the file again.
  4. Check: open Groups, the Chances table and a match list. The new name shows in all of them, and Health under the title says OK.

That one edit is enough. Matches, the bracket and the chances look a team up by its id (the "id":"haiti" beside the name), so a name is stored once. Never change an id.

Five names must stay as they are, because the rules look them up by name: Mexico, Canada and United States (the host boost, matched to the venue country) and Algeria and Paraguay (fair-play scores). The other 43 can be renamed freely.

Other things you can change

  • Numbers, ratings, results, dates, sources: all live in the content block. Search for id="fifa-content". The block starts at that line and ends at the next </script>. Also change dataVersion and date there so the footer shows the new data.
  • Words on screen (headings, buttons, intro text): ordinary text in the page part of the file, above the program. Search for the words you see, for example Most likely champions, and change only the words, never the < and > tags around them. Messages the app writes while it works come from the program and cannot be edited by hand.
  • Accent colour: one pair at the top of the style section: --accent-light (Paper) and --accent-dark (Charcoal and True Black). Pick a dark colour for the first and a light one for the second, so the text on accent buttons stays readable.
  • Keyboard focus outline: a separate token, --focus, one line in each look (search --focus:). It is not tied to the accent.
  • Other colours, text sizes, spacing: the lines that start html[data-theme and :root at the top of the style section.

Do not touch

Any script without type="application/json" (that is the program; if you change it the browser refuses to run it), the id values, the schema number and the Content-Security-Policy line at the top.

Updating the whole app

Replace the file with the new version. Your saved data stays in this browser. Older exports still import. A file saved by a newer version is refused with a message.

Glossary: words used in this app
Monte Carlo (MC)
Playing the tournament many times with seeded random scores and counting how often each result happens. A run is one such tournament.
Seed, scenario name
A name that fixes the random numbers, so the same name and settings give the same answer every time.
Poisson
A standard way to turn the goals a team is expected to score into the chance of each exact score, such as 1-0 or 2-2.
Elo
A rating that rises after wins and falls after losses. Here it starts from the FIFA ranking and the embedded results.
Annex C
The table in the FIFA regulations that says which third-placed teams meet which group winners in the Round of 32.
R32
The Round of 32, the first knockout round.
Tiebreaker
The rule that orders teams level on points in a group, such as head-to-head results and goal difference.
Brier score
How far forecast chances were from what happened. Lower is better; 0 is perfect.
Log loss
Another forecast score that punishes confident wrong calls heavily. Lower is better.
Rollback
Undoing a change and going back to the earlier setting. Here, a forecast adjustment was tried, scored worse, and was switched off.
JSON, schema, model data
JSON is a plain-text file format any text editor opens. The schema number is the version of the data layout. Model data is the teams, matches and ratings the predictions use.

Extra pages.

  • Assumptions and match detail.
  • Export, import, edit, reset.
  • Where the data comes from.
  • Self-tests.
  • Data quality.
  • Storage, export, delete.

How predictions work

Assumptions and inputs behind each number.

Source-backed availability and incentive inputs

Final group-table incentive is derived from embedded standings. Confirmed lineup, goalkeeper, suspension, and key-absence modifiers apply only when verified source metadata is embedded; otherwise they remain neutral. Current default goal penalties: key absence 0.055, suspension 0.045, goalkeeper downgrade 0.035, rotation 0.030.

Explain one match

Advanced data tools

Edit the model data as JSON (plain text), import a JSON file, or export the current data. Export JSON saves a file with the app name, version and date around the data. Reset to the data shipped in this file removes your saved copy and caches from this browser and restores the data that ships in this file. Validation repairs malformed sections and reports schema health in Diagnostics.

Diagnostics

Technical checks

Self-tests.

Data health

Source quality, validation gates, rollback path, and unresolved risks for future data updates.

Sources

    Update protocol

    Future data updates should edit the content block fifa-content (see More, How to update this) with current results, rankings, squads, injuries, suspensions, venues, weather, exact bracket mappings, and tactical/news modifiers. The simulator validates, repairs, tests, and reports schema health on load.

    This is a probabilistic model, not an official FIFA product or betting tool.

    Help

    Where your data lives

    Inside this browser only. The app saves edited model data under the key wc26_data, optional weather and bracket caches under wc26_weather and wc26_annex_c, and your Look choice under fifawcsim.look. Nothing is sent anywhere unless Live data is set to On in Prediction settings; then the app asks Wikipedia and Open-Meteo for the bracket table and venue weather before a run.

    Export

    Open More, then Your data, and press Export JSON. The file holds the app name, version, export time and the model data. Importing accepts that file or a plain data file.

    Delete

    Open More, then Your data, and press Reset to the data shipped in this file (it asks first). That removes the saved copy and caches from this browser and restores the data shipped in this file. The Look choice is removed by clearing this site's data in your browser settings.

    How to update this

    Open More. How to update this is the first item, with numbered steps and a worked example (rename a team).

    Content version: .

    Run predictions

    The scenario name seeds the runs. The same scenario name, run count and settings give the same result every time. In the data shipped with this file all 104 matches are already played and played results are fixed, so the odds do not change with the scenario name or run count. The button says so when that is the case.

    Licences

    Archivo Narrow, version 3.002, SIL Open Font License 1.1 (SPDX OFL-1.1). Copyright 2019 The Archivo Narrow Project Authors (https://github.com/Omnibus-Type/ArchivoNarrow). No Reserved Font Name. Used for headings and numerals.

    Karla, version 2.004, SIL Open Font License 1.1 (SPDX OFL-1.1). Copyright 2019 The Karla Project Authors (https://github.com/googlefonts/karla). No Reserved Font Name. Used for text.

    Both are subset to Latin and embedded as woff2; four faces: Archivo Narrow SemiBold and Bold, Karla Regular and SemiBold. Karla is cut from the variable font at weights 400 and 600. No other library is included.

    Licence text: Archivo Narrow
    Copyright 2019 The Archivo Narrow Project Authors (https://github.com/Omnibus-Type/ArchivoNarrow)
    
    This Font Software is licensed under the SIL Open Font License, Version 1.1.
    This license is copied below, and is also available with a FAQ at:
    https://scripts.sil.org/OFL
    
    
    -----------------------------------------------------------
    SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
    -----------------------------------------------------------
    
    PREAMBLE
    The goals of the Open Font License (OFL) are to stimulate worldwide
    development of collaborative font projects, to support the font creation
    efforts of academic and linguistic communities, and to provide a free and
    open framework in which fonts may be shared and improved in partnership
    with others.
    
    The OFL allows the licensed fonts to be used, studied, modified and
    redistributed freely as long as they are not sold by themselves. The
    fonts, including any derivative works, can be bundled, embedded, 
    redistributed and/or sold with any software provided that any reserved
    names are not used by derivative works. The fonts and derivatives,
    however, cannot be released under any other type of license. The
    requirement for fonts to remain under this license does not apply
    to any document created using the fonts or their derivatives.
    
    DEFINITIONS
    "Font Software" refers to the set of files released by the Copyright
    Holder(s) under this license and clearly marked as such. This may
    include source files, build scripts and documentation.
    
    "Reserved Font Name" refers to any names specified as such after the
    copyright statement(s).
    
    "Original Version" refers to the collection of Font Software components as
    distributed by the Copyright Holder(s).
    
    "Modified Version" refers to any derivative made by adding to, deleting,
    or substituting -- in part or in whole -- any of the components of the
    Original Version, by changing formats or by porting the Font Software to a
    new environment.
    
    "Author" refers to any designer, engineer, programmer, technical
    writer or other person who contributed to the Font Software.
    
    PERMISSION & CONDITIONS
    Permission is hereby granted, free of charge, to any person obtaining
    a copy of the Font Software, to use, study, copy, merge, embed, modify,
    redistribute, and sell modified and unmodified copies of the Font
    Software, subject to the following conditions:
    
    1) Neither the Font Software nor any of its individual components,
    in Original or Modified Versions, may be sold by itself.
    
    2) Original or Modified Versions of the Font Software may be bundled,
    redistributed and/or sold with any software, provided that each copy
    contains the above copyright notice and this license. These can be
    included either as stand-alone text files, human-readable headers or
    in the appropriate machine-readable metadata fields within text or
    binary files as long as those fields can be easily viewed by the user.
    
    3) No Modified Version of the Font Software may use the Reserved Font
    Name(s) unless explicit written permission is granted by the corresponding
    Copyright Holder. This restriction only applies to the primary font name as
    presented to the users.
    
    4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
    Software shall not be used to promote, endorse or advertise any
    Modified Version, except to acknowledge the contribution(s) of the
    Copyright Holder(s) and the Author(s) or with their explicit written
    permission.
    
    5) The Font Software, modified or unmodified, in part or in whole,
    must be distributed entirely under this license, and must not be
    distributed under any other license. The requirement for fonts to
    remain under this license does not apply to any document created
    using the Font Software.
    
    TERMINATION
    This license becomes null and void if any of the above conditions are
    not met.
    
    DISCLAIMER
    THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
    OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
    COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
    DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
    OTHER DEALINGS IN THE FONT SOFTWARE.
    Licence text: Karla
    Copyright 2019 The Karla Project Authors (https://github.com/googlefonts/karla)
    
    This Font Software is licensed under the SIL Open Font License, Version 1.1.
    This license is copied below, and is also available with a FAQ at:
    https://scripts.sil.org/OFL
    
    
    -----------------------------------------------------------
    SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
    -----------------------------------------------------------
    
    PREAMBLE
    The goals of the Open Font License (OFL) are to stimulate worldwide
    development of collaborative font projects, to support the font creation
    efforts of academic and linguistic communities, and to provide a free and
    open framework in which fonts may be shared and improved in partnership
    with others.
    
    The OFL allows the licensed fonts to be used, studied, modified and
    redistributed freely as long as they are not sold by themselves. The
    fonts, including any derivative works, can be bundled, embedded, 
    redistributed and/or sold with any software provided that any reserved
    names are not used by derivative works. The fonts and derivatives,
    however, cannot be released under any other type of license. The
    requirement for fonts to remain under this license does not apply
    to any document created using the fonts or their derivatives.
    
    DEFINITIONS
    "Font Software" refers to the set of files released by the Copyright
    Holder(s) under this license and clearly marked as such. This may
    include source files, build scripts and documentation.
    
    "Reserved Font Name" refers to any names specified as such after the
    copyright statement(s).
    
    "Original Version" refers to the collection of Font Software components as
    distributed by the Copyright Holder(s).
    
    "Modified Version" refers to any derivative made by adding to, deleting,
    or substituting -- in part or in whole -- any of the components of the
    Original Version, by changing formats or by porting the Font Software to a
    new environment.
    
    "Author" refers to any designer, engineer, programmer, technical
    writer or other person who contributed to the Font Software.
    
    PERMISSION & CONDITIONS
    Permission is hereby granted, free of charge, to any person obtaining
    a copy of the Font Software, to use, study, copy, merge, embed, modify,
    redistribute, and sell modified and unmodified copies of the Font
    Software, subject to the following conditions:
    
    1) Neither the Font Software nor any of its individual components,
    in Original or Modified Versions, may be sold by itself.
    
    2) Original or Modified Versions of the Font Software may be bundled,
    redistributed and/or sold with any software, provided that each copy
    contains the above copyright notice and this license. These can be
    included either as stand-alone text files, human-readable headers or
    in the appropriate machine-readable metadata fields within text or
    binary files as long as those fields can be easily viewed by the user.
    
    3) No Modified Version of the Font Software may use the Reserved Font
    Name(s) unless explicit written permission is granted by the corresponding
    Copyright Holder. This restriction only applies to the primary font name as
    presented to the users.
    
    4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
    Software shall not be used to promote, endorse or advertise any
    Modified Version, except to acknowledge the contribution(s) of the
    Copyright Holder(s) and the Author(s) or with their explicit written
    permission.
    
    5) The Font Software, modified or unmodified, in part or in whole,
    must be distributed entirely under this license, and must not be
    distributed under any other license. The requirement for fonts to
    remain under this license does not apply to any document created
    using the Font Software.
    
    TERMINATION
    This license becomes null and void if any of the above conditions are
    not met.
    
    DISCLAIMER
    THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
    OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
    COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
    DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
    OTHER DEALINGS IN THE FONT SOFTWARE.