
- Season
- 126–166
- 43.2% win rate
- Career
- 47–86
- 35.3% win rate
- Titles
- 0
- +1 doubles
- Prize money
- $2.5M
- Career
Recent form
3 losses in a row
- LLost to Ugo Humbert
- LLost to Henry Searle
- WBeat Nikoloz Basilashvili
- LLost to Timofey Skatov
- LLost to Trevor Svajda
- LLost to Federico Cina
- LLost to Daniil Glinka
- WBeat Paul Jubb
- WBeat Franco Roncadelli
- LLost to Cristian Garin
- LLost to Alexis Galarneau
- LLost to Mattia Bellucci
Oldest to newest. Hover a result for the opponent.
By surface
Strongest on grass
- Hardmost played57–7444%
- Clay51–6743%
- Grass11–1052%
- Indoor7–1532%
Elo rating
Full leaderboard1699#389 on tour
Peak 1766 in 2026 · from 292 rated matches
- Hard
1728+29 vs overall
131 matches
- Clay
1733+35 vs overall
118 matches
- Indoor
1717+18 vs overall
22 matches
- Grass
1736+38 vs overall
21 matches
Computed from every completed ATP singles match since 2008, not from ranking points: beating a strong player is worth more than beating a weak one. A surface figure is this player’s overall rating plus an adjustment learned only from their matches on that surface.
Match results
8 matches· Challenger · 2026
- WPaul Jubb2026· Kingston 1 · R32Hard6-4 6-4
- LDaniil Glinka2026· Kingston 1 · R16Hard6-4 6-3
- LFederico Cina2026· Lexington · R32Hard6-3 7-5
- LHenry Searle2026· Dublin · R32Grass7-6(3) 7-6(5)
- LSho Shimabukuro2026· Birmingham · R16Grass6-3 6-3
- WChristopher O'Connell2026· Birmingham · R32Grass7-6(7) 6-3
- WSaba Purtseladze2026· Moldova · R32Clay7-6(4) 6-2
- LGenaro Alberto Olivieri2026· Moldova · R16Clay6-2 7-6(5)