Expected Goals (xG) Calculator

A free, interactive soccer xG simulator. Place attackers, defenders, and a goalkeeper on a half-pitch, choose a shooter, and compare the expected goals value returned by several peer-reviewed academic models — all side by side, in real time.

  • Multiple models: compare Rathke, Anzer & Bauer, the Kos Angle model, CNN-based xG and more on the same shot.
  • Full context: toggle defenders, goalkeeper position, shot technique, body part, first-time shots and defensive pressure.
  • Learn by doing: see how each variable moves xG and build an intuition for shot quality.
  • Import real shots: paste a JSON shot or pull from the sample database and tweak it on the pitch.

What is xG?

Expected goals (xG) is a statistical metric used across professional football analytics to estimate the probability that a given shot will become a goal. Instead of treating every shot the same, xG assigns each attempt a value between 0 and 1 based on factors such as distance to goal, angle, defensive pressure, the body part used, and whether the shot was taken first time. A tap-in from two yards might be worth 0.85 xG, while a speculative strike from 30 yards might be worth just 0.02 xG.

Clubs, broadcasters and bettors use xG to separate process from outcome: a team creating 2.3 xG per match is generating good chances, even on nights the ball refuses to go in. Want a deeper dive? Read our full guide to expected goals, or see how different xG models disagree and why this calculator shows several at once.

Try the simulator

Click on the pitch to place attackers (left click) and defenders (right click). Press G to drop the goalkeeper, then S to select the shooter nearest your cursor. Full controls are on the How to Use page.

Keep reading