How to win darts πŸ€”

Do you ever watch a darts tournament and they show these D18 Β· D18 Β· Bull to finish?
You tell yourself ooo ye that must be optimal.
Then you get to the same score, miss the double, hit a one, and launch the last dart straight into the ceiling.

What's the actual optimal place to aim for you personally.

Do you want to find out and maybe shave off 0.001 darts per leg?

Well, you're in luck.

May I propose the optimal darts solver.

Calibrate your throw, and I will crunch the numbers.
For every possble aim point. Completely optimal. Pure maths.
(And a little random simulation maybe)

How do I use it?

Excellent Question.

Being here is already half the work done.

01

You calibrate

Throw at the bull's-eye. Click where the dart actually lands. Hit Estimate. Done. The solver now knows exactly how bad you are.

Start Calibration β†’
02

You find out

Pick a tab. Stare at the result. Question your entire darts career. Start winning.

Go to Solver β†’

The individual modes and what they mean are explained in their respective tabs.

WebAssembly Β· 2D Gaussian Modelling Β· Monte Carlo Simulation Β· Runs 100% in Your Browser

Calibration

Aim at the bull's-eye and click where your darts actually land.

β—ŽShots

0 shots recorded

⬑Distribution

Record at least 3 shots to estimate your distribution.

⬇Data

βŠ•Calibration: Measuring Your Accuracy

What is calibration?

Calibration measures your personal throwing accuracy. We assume you are aiming at the bull's-eye. Based on where the darts land, the solver models your skill as a 2D Gaussian (normal) distribution. It estimates your spread (how much you scatter).

Step-by-step

  1. Aim at the bull's-eye. Every throw should be aimed at the exact same point. Consistency is key.
  2. Don't try to "fix" your aim during calibration. Throw naturally. The solver's job is to adjust for your natural bias!
  3. Click where your dart lands. Record the position on the canvas. A yellow dot marks each shot.
  4. Repeat 20–50 times. More shots yield professional-grade results. While 3 is the minimum, 30+ is recommended for a stable output.
  5. Click "Estimate Distribution" to compute your profile. Results show Οƒx and Οƒyβ€”lower numbers mean higher consistency.
FUN TIP: We actually calculate your center of aiming. So if you aim all shots at 60, you end up with the same output.

Maximize Points

Find out how many points you can expect when aiming at any spot on the board.

β˜…Results

Computing optimal scoring aim…

⊞Visualization

β—‰Mode: Maximize Points (Scoring Strategy)

What this solves

  • This mode focuses on pure scoring. It finds where your statistical expected value per throw is highest.
  • Ideal for the start of a leg (501/301) when you just need to pile on points.
  • Unlike the checkout solvers, this ignores the risk of "busting" or needing a specific double to finish.

Heatmap & Interpretation

  • The red crosshair is your mathematically optimal aim point.
  • Heatmap: Toggle to see the "expected points" landscape. Brighter areas offer higher rewards given your current accuracy.
  • A "safe" player might see the T19 area lighting up more than T20 if their vertical spread is high.

Minimize Throws

Configure points remaining and instantly compute the best aiming strategy.

βš™Game Settings

β—ˆSolver

β˜…Results

Adjust settings to compute the optimal strategy.

⊞Visualization

β—ŽMode: Minimize Throws (Leg-Closing Strategy)

The Finish Line

  • This solver calculates the fewest number of individual darts to reach zero.
  • Expected Throws: Represents how many darts, on average, you'll need from your current score to finish the leg.
  • It considers both "Finish on Double" (standard) and "Finish on Any" (easier/casual) rules.

Strategic Heatmap

  • Color of a square means: If you shoot here, and then throw optimally,you will need this many darts to finish the leg on average.
  • Blue areas (on the default scale) represent lower expected throwsβ€”these are your targets for a fast finish.
  • Note how big numbers (like T20) aren't always optimal when you're close to a checkout!

Minimize Rounds

The full picture β€” accounts for throw number, leg score, and round start score.
The strongest solver. Won't recalculate unless already cached or you hit Solve.

βš™Game Settings

β—ˆSolver

β˜…Results

Press Solve to compute the optimal strategy.

⊞Visualization

β—ŒMode: Minimize Rounds (The Pro Strategy)

Full Match-Play Simulation

Professional darts is played in rounds of three. This solver is the only one that accounts for the "Bust" rule and round-end efficiency.

  • Accounting for Busts: If you need 4 and hit 5, you return to 4 at the start of the next round. This solver knows that and avoids "dangerous" targets.
  • Throw Position: It understands that your strategy changes if you are on dart 1, 2, or 3 of the current round.
  • Expected Rounds: The result is the average number of full rounds to finish.

Batch Precomputation

  • Calculating optimal "Rounds" is mathematically intensive. Use "Solve up to a score" to build a full strategy table (e.g., from 1 up to 170).
  • Once computed, switching between scores is instantaneous as the results are cached.
WHY USE THIS? This mode will tell you when to "set up" (e.g., aim for a number that leaves a nice double next round) vs when to "go for it" directly.