Most ducks in international cricket: Muttiah Muralitharan’s 59 leads the list
Muttiah Muralitharan was dismissed for a duck 59 times in international cricket, more than any other player. Courtney Walsh is next on 54.
Apr 21, 2022 · Updated Sep 2, 2026
He was dismissed without scoring 59 times in 495 internationals — 33 in Tests, 25 in ODIs and once in a T20I. Courtney Walsh is next on 54.
Most ducks in international cricket: everyone on 43 or more
These figures combine Tests, ODIs and T20Is.
| Player | Team | Span | Mat | Ducks |
|---|---|---|---|---|
| Muttiah Muralitharan | Sri Lanka | 1992-2011 | 495 | 59 |
| Courtney Walsh | West Indies | 1984-2001 | 337 | 54 |
| Sanath Jayasuriya | Sri Lanka | 1989-2011 | 586 | 53 |
| Stuart Broad | England | 2006-2023 | 344 | 49 |
| Glenn McGrath | Australia | 1993-2007 | 376 | 49 |
| Mahela Jayawardene | Sri Lanka | 1997-2015 | 652 | 47 |
| Daniel Vettori | New Zealand | 1997-2015 | 442 | 46 |
| James Anderson | England | 2002-2024 | 401 | 45 |
| Wasim Akram | Pakistan | 1984-2003 | 460 | 45 |
| Chris Gayle | West Indies | 1999-2021 | 483 | 44 |
| Zaheer Khan | India | 2000-2014 | 309 | 44 |
| Shahid Afridi | Pakistan | 1996-2018 | 524 | 44 |
| Shane Warne | Australia | 1992-2007 | 339 | 44 |
| Lasith Malinga | Sri Lanka | 2004-2020 | 340 | 43 |
| Younis Khan | Pakistan | 2000-2017 | 408 | 43 |
James Anderson is the newest name on it. He was not on this page’s previous list at all; he retired in 2024 on 45, and Stuart Broad finished a year earlier on 49.
It is not only a list of tail-enders
Ten of the fifteen are bowlers, and the reason is obvious: they bat last, they bat against the new ball only when the innings collapses, and nobody minds. The other five are the interesting ones. Jayasuriya, Jayawardene, Gayle, Shahid Afridi and Younis Khan all finished with more than 10,000 international runs, and Jayawardene with nearly 26,000.
Long careers and attacking cricket both cost ducks. Jayasuriya batted in 433 ODI innings and Gayle in 294; play that many times at the top of the order and some of them end at nought.
The record in each format
Courtney Walsh has the most Test ducks, 43, from 185 innings. Stuart Broad is second on 39 and Chris Martin third on 36.
Sanath Jayasuriya has the most in ODIs, 34, ahead of Shahid Afridi’s 30 and 28 each for Jayawardene and Wasim Akram.
The T20I record belongs to Dasun Shanaka, on 16, and he is still playing. The format has only existed since 2005, which is why its numbers are so much smaller than the other two.
India’s list
Zaheer Khan has the most ducks of any India player, 44 — 43 of them for India and one for an Asia XI. Virat Kohli is next on 40 and is still playing, level with Ishant Sharma, and Jasprit Bumrah and Harbhajan Singh follow on 37 each.
| Format | India record | Ducks |
|---|---|---|
| Tests | Ishant Sharma | 34 |
| ODIs | Sachin Tendulkar | 20 |
| T20Is | Rohit Sharma | 12 |
Ishant’s 34 Test ducks put him joint-fifth on the all-time Test list, alongside James Anderson and Shane Warne. Sanju Samson has the most T20I ducks among India’s current players, on eight.
For the other end of the batting record, see our list of the players with the most centuries in Test cricket.
Interested in cricket betting? Check out our list of top cricket betting sites.
Featured photo: PAUL ELLIS / AFP







