SportsAdda
Stake — IPL Community Raffle
Stake — IPL Community Raffle
Features

Most sixes in ODI cricket: Rohit Sharma tops the all-time list

Rohit Sharma has hit the most sixes in ODI cricket, passing Shahid Afridi in November 2025 and moving on to 363. Here is the full all-time top 10 with matches, innings and sixes.

Aug 2, 2024 · Updated Aug 3, 2026

Most sixes in ODI cricket: Rohit Sharma tops the all-time list

Shahid Afridi held the record for most sixes in ODI cricket for 15 years. He does not hold it any more. Rohit Sharma went past him at Ranchi on 30 November 2025 and has kept adding to the tally since, which makes this one of the few all-time lists in cricket that is still moving.

Here is the current top 10, how Rohit took the record, and the rate at which the three men above 300 sixes got there.

Most sixes in ODI cricket: the all-time top 10

Nine of these ten careers are finished, so those figures are final. Only Rohit Sharma is still playing, and only his number can change.

# Player Country Matches Innings Sixes Career
1 Rohit Sharma India 285 277 363 and counting 2007-present
2 Shahid Afridi Pakistan 398 369 351 1996-2015
3 Chris Gayle West Indies 301 294 331 1999-2019
4 Sanath Jayasuriya Sri Lanka 445 433 270 1989-2011
5 MS Dhoni India 350 297 229 2004-2019
6 Eoin Morgan England 248 230 220 2006-2022
7 AB de Villiers South Africa 228 218 204 2005-2018
8 Brendon McCullum New Zealand 260 228 200 2002-2016
9 Sachin Tendulkar India 463 452 195 1989-2012
10 Sourav Ganguly India 311 300 190 1992-2007

Four Indians in the top 10, and three of them are batters from the pre-T20 era. Only three men have ever passed 300 sixes in ODI cricket.

How Rohit Sharma took the record

Rohit went into the first ODI against South Africa at the JSCA International Stadium Complex in Ranchi on 30 November 2025 needing two sixes. He got both in the 15th over, hitting Prenelan Subrayen for back-to-back maximums. The first took him to 350, the only Indian to reach that mark. The second drew him level with Afridi. His third six of the innings, on the way to 57, put him top of the all-time list on 352.

A batsman silhouetted against a sunset sky as he follows through on a lofted shot over the stadium floodlights

That 352 is the figure most record lists still carry, because it is where they stopped updating. Rohit has played eight more ODIs since that night and hit 11 more sixes, which takes him to 363 from 285 matches. The biggest single contribution came at Lord’s on 19 July 2026, where he made 138 off 110 balls with 17 fours and five sixes, becoming the first India men’s batter to score an ODI hundred at the ground.

Series Matches Sixes Running total
At Ranchi, 30 Nov 2025 (record broken) 352
Rest of the South Africa series, Dec 2025 2 3 355
New Zealand in India, Jan 2026 3 2 357
India in England, Jul 2026 3 6 363

Three routes to 300 ODI sixes

The headline number hides how differently the top three got there. Divide sixes by innings and the gap opens up.

Player Sixes Innings Sixes per innings
Rohit Sharma 363 277 1.31
Chris Gayle 331 294 1.13
Shahid Afridi 351 369 0.95
Sachin Tendulkar 195 452 0.43

Afridi needed 398 matches to reach 351. Rohit passed that mark in 277, which is 121 matches fewer. Put the other way, Afridi’s record took a career of nearly two decades and the highest strike rate of his generation; Rohit has cleared it while batting in a format where 350 is a par score rather than a winning one.

Tendulkar is the instructive one at the bottom of that table. He played 463 ODIs, more than anyone else in the top 10, and finished on 195 sixes. Rohit has hit 168 more sixes in 175 fewer innings. Neither man was a worse batter than the other; the ball, the bats, the fielding restrictions and the two new balls changed underneath them.

The top of the list, player by player

Rohit Sharma | 363 ODI sixes

Rohit made his ODI debut against Ireland at Belfast in 2007 and did not become an opener until 2013, which is when the six-hitting took off. He owns three ODI double-hundreds, and his 209 against Australia at Bengaluru in November 2013 contained 16 sixes, the most in an ODI innings at the time. He also holds the record for the most sixes in international cricket. He gave up the India ODI captaincy in October 2025, when Shubman Gill took over, but remains in the side as an opener.

Shahid Afridi | 351 ODI sixes

Afridi held this record from 2010 until 2025. He debuted against Kenya at Nairobi in 1996 and finished with 351 sixes in 398 matches across 19 years. He hit 476 sixes in all international cricket, which is still third on that list. For most of his career the record was not close: he passed Jayasuriya and then simply kept going.

Chris Gayle | 331 ODI sixes

Gayle sits third with 331 from 301 matches, and his 215 against Zimbabwe at Canberra in the 2015 World Cup included 16 sixes. He finished on 553 international sixes, second only to Rohit. Worth noting that the enormous six tallies attached to Gayle’s name in most write-ups are his all-T20 figures including franchise leagues, which is a different list entirely.

A white cricket ball high in the night sky above a bank of stadium floodlights

Sanath Jayasuriya | 270 ODI sixes

Jayasuriya hit 270 sixes in 445 matches between 1989 and 2011, and he did it first. The Sri Lankan opener’s approach in the 1996 World Cup is the point at which ODI batting changed, and he held the six-hitting record before Afridi took it. He ended with 352 international sixes.

MS Dhoni | 229 ODI sixes

Dhoni completes the top five on 229 from 350 matches. He is the only wicketkeeper in the list and the only one who hit most of his sixes while finishing chases rather than starting innings. His international tally was 359.

ODI sixes are not the same as international sixes

This is where most lists on this subject go wrong, so it is worth stating plainly. There are three separate counts and they are routinely mixed up:

  • ODI sixes — this list. Rohit leads on 363.
  • International sixes — Tests, ODIs and T20Is combined. Rohit leads on 656, made up of 363 in ODIs, 205 in T20Is and 88 in Tests. Gayle is second on 553.
  • All-T20 sixes — internationals plus the IPL, Big Bash, CPL and the rest. Gayle is past a thousand here, which is why his name attaches to six-hitting records that have nothing to do with this page.

We keep those separated: see most sixes in international cricket, most sixes in T20 internationals and most sixes in Tests.

Who can still climb this list

Almost nobody, which is what makes it unusual. Nine of the ten careers here are closed. Rohit is the only man in the top 10 still playing, and every six he hits extends a record rather than chasing one.

The nearest active challenger is Jos Buttler, who is in the mid-180s and needs a handful more to pass Sourav Ganguly’s 190 and enter the top 10. Nobody else who is currently playing is within 50 of the bottom of this table. India tour New Zealand for five ODIs from 4 November 2026, so the record has room to move again before the year is out.

Quick answers

Who has hit the most sixes in ODI cricket?
Rohit Sharma, with 363 in 285 matches. He passed Shahid Afridi’s 351 on 30 November 2025.

When did Rohit Sharma break the record?
In the first ODI against South Africa at Ranchi on 30 November 2025, taking his tally to 352.

How long did Shahid Afridi hold the record?
15 years, from 2010 until November 2025.

How many players have hit 300 sixes in ODIs?
Three: Rohit Sharma, Shahid Afridi and Chris Gayle.

Who has hit the most sixes in a single ODI innings?
Eoin Morgan, with 17 against Afghanistan in 2019. Rohit’s 16 against Australia at Bengaluru in 2013 was the record until then.

Which Indians are in the top 10?
Four: Rohit Sharma (363), MS Dhoni (229), Sachin Tendulkar (195) and Sourav Ganguly (190).

Six tallies are current to the end of India’s tour of England on 19 July 2026. Photo credit: Alamy

Stake — IPL Community Raffle
Stake — IPL Community Raffle