What is this?
Cricket Head to Head is a free tool for comparing any batter against any bowler using ball-by-ball data from international and domestic cricket since December 2001. Find out how many times a batter has been dismissed by a specific bowler, check head-to-head records between rivals, and discover which bowlers have been a "bunny" for your favourite batter.
Search cricket matchup stats across Test matches, ODIs, T20 internationals, IPL, Big Bash, The Hundred, County Championship, and more. Compare players like Virat Kohli, Joe Root, Steve Smith, or any cricketer who's played since 2001.
Everything runs in your browser. There's no server processing your queries, no account required, and we don't track what you search for. The data is cached locally after your first visit, so it loads almost instantly when you come back.
All data comes from Cricsheet, an excellent open-source project that provides ball-by-ball cricket data in a structured format.
How to use it
Search for players: Start typing a name in either the Batter or Bowler search box. Results appear instantly as you type, with the most relevant matches shown first.
View the breakdown: Once you've selected both players, you'll see their head-to-head statistics broken down by format (Test, ODI, T20, etc.) and by series.
Explore the details: Click on the "Outs" column to see individual dismissal details — the date, venue, how they got out, and how many runs they'd scored. Click on run counts (4s, 6s, dots) to see when and where those deliveries happened.
Share what you find: The URL updates as you select players, so you can copy and share any matchup directly.
Discovering rivalries
Not sure where to start? The home page shows suggested rivalries based on the most significant head-to-head records in the database.
Active Players / Since 2001: Toggle between showing only players who've been active in the last two months, or the full historical record (complete data from 2017, partial coverage back to 2001).
Filter by team: Search for a team to see rivalries involving that team's players. Select two teams to see matchups between them — for example, searching "England" vs "Australia" shows Ashes rivalries, or "Warwickshire" vs "Yorkshire" shows County Championship battles.
When you filter by teams, the stats only count deliveries where those players were actually representing those teams in that match — not their entire career.
Men's and Women's cricket: Use the toggle at the top to switch between the men's and women's game.
What you can see
- •Format breakdown: Stats for Tests, ODIs, T20s, and domestic formats shown separately, with combined totals.
- •Series breakdown: Performance in specific series or tournaments — see how a rivalry played out in the Ashes, IPL, or World Cup.
- •Match log: Every encounter listed with venue, innings number, the batter's full innings score, team total, and exactly what happened between the two players in that match.
- •Career comparison: The batter's head-to-head average compared to their overall career average, so you can see if this bowler troubles them more than most.
- •Dismissal details: Click through to see exactly how each wicket fell — Caught, Bowled, LBW, and who took the catch.
- •Ball-by-ball counts: Dots, singles, twos, threes, fours, and sixes — with details of when and where each delivery happened.
Understanding the verdict
Each matchup shows a verdict comparing the batter's head-to-head average against their overall career average. This tells you whether they perform better or worse against this particular bowler than they typically do.
- Clear advantage batterH2H average is 15+ runs higher than career
- Batter has the edgeH2H average is 5–15 runs higher than career
- Evenly matchedH2H average is within 5 runs of career
- Bowler has the edgeH2H average is 5–15 runs lower than career
- Clear advantage bowlerH2H average is 15+ runs lower than career
This is a simple heuristic — it doesn't account for sample size, pitch conditions, or the era in which they played. But it gives you a quick sense of whether a matchup favours the batter or bowler.
Data coverage
The database uses ball-by-ball data from Cricsheet. From 2017 onwards, coverage is comprehensive across international cricket, major T20 leagues, and most domestic competitions. Earlier data varies by competition.
International cricket
- Tests: from 2001
- ODIs: from 2002
- T20Is: from 2005
- Women's internationals: from 2003
T20 leagues
- IPL: from 2008 (complete)
- Big Bash League: from 2011
- Caribbean Premier League: from 2013
- Pakistan Super League: from 2016
- The Hundred: from 2021
Domestic first-class
- County Championship: from 2014
- Sheffield Shield: from 2017
- Plunket Shield: from 2012
Note: Players who played primarily before these dates will have incomplete domestic records. For example, a County cricketer who retired in 2013 won't appear in the database.
How it works
- •First visit: The app downloads around 85MB of cricket data (over 20,000 matches) to your browser. This is cached locally, so you only download it once.
- •Instant queries: All searches run locally using DuckDB-WASM, a fast analytical database that runs entirely in your browser. Nothing is sent to a server.
- •Data updates: The data is updated periodically from Cricsheet. You'll see a notification banner when new match data is available — just click "Update Now" to download the latest. The status bar shows when your cached data was last refreshed.
- •Privacy: We use Vercel Analytics to count visitors and see how people find the site. Your searches never leave your browser — they run entirely on your device. No cookies, no accounts, no personal data stored.
Frequently Asked Questions
How do I find batter vs bowler records?
Simply type the batter's name in the first search box and the bowler's name in the second. You'll instantly see their head-to-head statistics including runs scored, dismissals, strike rate, and performance broken down by format and series.
What cricket formats are included?
The database includes Test matches, One Day Internationals (ODIs), T20 internationals, IPL, Big Bash League, The Hundred, County Championship, Sheffield Shield, and many other domestic competitions from around the world.
How far back does the data go?
Ball-by-ball data is available from December 2001 onwards — over 20,000 matches spanning international and domestic cricket including historic Ashes series, World Cups, and IPL seasons.
How many times has a batter been dismissed by a bowler?
Select any batter and bowler combination to see exactly how many times the batter has been dismissed. Click on the "Outs" number to see details of each dismissal including the date, venue, how they got out (caught, bowled, LBW, etc.), and the score at dismissal.
Is women's cricket included?
Yes! Use the toggle at the top of the page to switch between men's and women's cricket. The database includes women's internationals, WBBL, Women's Hundred, and other domestic competitions.
How do I get the latest match data?
The site automatically checks for updates when you visit. If new match data is available, you'll see a notification banner at the top of the page. Click "Update Now" to download the latest data, or dismiss it to update later.
Get in touch
Found a bug? Have a suggestion? Want to see a new feature, or have an idea for another cricket tool? I'd love to hear from you.
Drop me an email at will@willpalmer.co.uk
If you find this tool useful and want to support it, buy me a coffee.