What this calculator does
Score a game of Shanghai darts round by round, and find out who won. Shanghai is a quick darts game for any number of players. In round 1 everyone throws at the 1, in round 2 at the 2, and so on. Only the round's number scores: a single is worth the number, a double twice it and a treble three times. The twist is the Shanghai itself. A visit is one player's turn of up to three darts. Hit the single, double and treble of the round's number in one visit and you win on the spot, whatever the scores.
This calculator scores the game from the darts as they landed. Type each player's visits in round order. It works out every round's points, the running totals and the winner. If someone makes a Shanghai, it stops the game there. Play the short 1–7 game, a 1–10 game or the full board from 1 to 20.
Where it's used
Why this math matters outside the classroom:
- Times-table practice. In round 6, a pupil scores a double and a treble as 2 × 6 + 3 × 6 = 30 points.
- Party games. Four friends play rounds 1–7, and one wins outright with S5 D5 T5 in round 5.
- Accuracy drills. A player practising alone tries to beat their best 1–7 total, knowing round 7 alone is worth up to 9 × 7 = 63.
- Running totals. A scorer adds each round to the total, so 54 after five rounds plus 18 in round 6 makes 72.
Grade level and standards: Grade 3; Common Core State Standards for Mathematics 3.OA.C.7, 3.NBT.A.2. © Copyright 2010. National Governors Association Center for Best Practices and Council of Chief State School Officers. All rights reserved.
How to use it
- Choose how many rounds you are playing (1–7, 1–10 or 1–20) and the number of players.
- For each player, type one visit per round in order, separated by commas, such as S1 D1 M, S2 S17 T2.
- Type the darts as they landed. Darts on other numbers are allowed; they just score nothing.
- Read the result, each player's total and the round-by-round table.
What the inputs mean
- Rounds
- The 1–7 game is the most common pub version. Longer games give more chances for a comeback and more chances of a Shanghai.
- Player 1 visits
- Visit 1 is round 1, visit 2 is round 2, and so on. Up to three darts per visit: S, D or T before 1–20, 25 or SB and 50 or DB for the bulls, M for a miss.
- Player names
- Separated by commas, in throwing order. Labels only; they never change the scores.
Formula and method
round N score = sum over darts on N of N × (1 single, 2 double, 3 treble) highest round score = 9 × N (three trebles) Shanghai = single N + double N + treble N in one visit → instant win otherwise: winner = highest total after the last round
N stands for the round number, which is also the only number that scores that round. A treble 20 thrown in round 5 scores nothing, which is what makes the game interesting: players have to move around the board instead of camping on the 20. The most any round can score is three trebles, 9 times the round number.
A Shanghai needs all three of the single, double and treble of the round's number in the same visit, in any order. Three trebles score more points but are not a Shanghai. Because players throw in turn, the first player to make a Shanghai wins and the game stops there.
Without a Shanghai, the highest total after the final round wins. If two players tie, groups usually play a tiebreak round on the last number. That isn't modelled here; the result just reports the tie.
Worked example
Two invented players, Hollis Grieve and Petra Lindqvist-Moss, play rounds 1–7. Hollis's visits are S1 S1 M, D2 S2 M, S3 T3 M, S4 S13 S4, S5 S12 S5, D6 S6 S10, S7 T7 M. Petra's are S1 M M, S2 S2 S2, T3 S3 M, S13 S4 M, S5 D5 S12, S6 S13 S6, S7 S7 S7.
- Hollis scores 1 + 1 = 2, then 4 + 2 = 6, 3 + 9 = 12, 4 + 4 = 8 (the 13 doesn't count), 10, 12 + 6 = 18 and 7 + 21 = 28.
- His total is 2 + 6 + 12 + 8 + 10 + 18 + 28 = 84.
- Petra scores 1, 6, 12, 4, 15, 12 and 21, a total of 71.
- Nobody hit the single, double and treble of a number in one visit, so there was no Shanghai.
Result: Hollis wins with 84 to Petra's 71.
Understanding the result
The round table shows where the game was won. Later rounds are worth more, because the numbers are bigger, so a strong finish can overturn an early lead.
In a game in progress, the result names the leader so far. A player behind on points can still win at any time with a Shanghai.
Assumptions and limitations
- Round N is played on the number N, and every player throws one visit of up to three darts per round, in a fixed order.
- A Shanghai counts in any order within the visit.
- The bull is not a target in this game.
- Tiebreaks aren't played out; ties are reported as ties.
- Variations such as elimination for a scoreless round, random target numbers or the Shanghai counting only in a set order aren't applied.
- Up to four players.
Frequently asked questions
What is a Shanghai in darts?
Hitting the single, the double and the treble of the same number in one visit of three darts. In the game of Shanghai, doing it on the round's number wins the game immediately.
Do three trebles count as a Shanghai?
No. Three trebles score the most points (9 times the number) but a Shanghai needs one of each: single, double and treble.
How many rounds is Shanghai?
There is no fixed number. Seven rounds (the numbers 1 to 7) is common for a quick game, and the full game runs from 1 to 20. Agree before you start; this calculator offers 7, 10 and 20.
Sources
- Shanghai darts: rules and scoring (DolfDarts) (checked 2026-10-19)
- Darts history, darts language: Shanghai, by Dr Patrick Chaplin (checked 2026-10-19)
How this calculator is checked
Method: Published house rules for Shanghai (DolfDarts; Dr Patrick Chaplin's Darts Language entry): round N on number N, single/double/treble = N, 2N, 3N, single + double + treble in one visit wins outright, otherwise the highest total wins. There is no single official version; round counts vary. The calculation is covered by automated tests with known reference values and edge cases. Last updated 2026-10-18. Found a problem? Tell us.
Embed this calculator
Put this Shanghai Darts Score Calculator on your own website or blog for free. Paste this code where you want it to appear: