- Season
- 85–72
- 54.1% win rate
- Career
- 9–7
- 56.3% win rate
- Titles
- 0
- Singles
- Prize money
- $700K
- Career
Recent form
2 losses in a row
- WBeat Alastair Gray
- WBeat Liam Broady
- LLost to Jerome Kym
- LLost to Tristan Schoolkate
- WBeat Aidan Mayo
- WBeat Justin Boulais
- LLost to Aleksandar Vukic
- WBeat Yosuke Watanuki
- LLost to Liam Draxl
- WBeat Garrett Johns
- LLost to Braden Shick
- LLost to Andrea Guerrieri
Oldest to newest. Hover a result for the opponent.
By surface
Strongest on grass
- Hardmost played65–5057%
- Clay10–1540%
- Grass8–562%
- Indoor1–150%
- Surface TBD1–150%
Elo rating
Full leaderboard1752#266 on tour
Peak 1821 in 2025 · from 157 rated matches
- Hard
1794+41 vs overall
115 matches
- Clay
1722-30 vs overall
25 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
Latest 100 of 111· Challenger
- LBraden Shick2026· Vancouver · R32Hard6-7(5) 6-3 6-3
- WGarrett Johns2026· Winnipeg · R32Hard6-7(8) 6-2 7-6(4)
- LLiam Draxl2026· Winnipeg · R16Hard7-5 1-6 6-4
- WYosuke Watanuki2026· Granby · R32Hard6-7(6) 6-4 7-5
- LAleksandar Vukic2026· Granby · SFHard6-4 3-6 6-3
- WJustin Boulais2026· Granby · QFHard6-1 6-3
- WAidan Mayo2026· Granby · R16Hard7-6(4) 6-2
- LTristan Schoolkate2026· Newport · R32Grass6-3 6-7(3) 6-3
- WAlastair Gray2026· Nottingham · R32Grass6-4 7-5
- LRoman Safiullin2026· Nottingham · R16Grass6-3 6-2
- LToby Samuel2026· Ilkley · R16Grass6-3 6-3
- WNicolai Budkov Kjaer2026· Ilkley · R32Grass6-0 7-6(4)
- LYannick Theodor Alexandrescou2026· Zagreb · R16Clay6-7(3) 6-3 6-3
- WMatej Dodig2026· Zagreb · R32Clay7-6(8) 3-6 6-3
- WAlex Barrena2026· Francavilla al Mare · R32Clay6-4 6-2
- LGustavo Heide2026· Francavilla al Mare · SFClay6-4 1-6 6-1
- WMax Schoenhaus2026· Francavilla al Mare · QFClay7-5 2-6 6-3
- WGuy Den Ouden2026· Francavilla al Mare · R16Clay6-4 6-4
- LSoonWoo Kwon2026· Gwangju · FHard6-4 7-5
- WLeandro Riedi2026· Gwangju · SFHard4-3 RET
- WYuta Shimizu2026· Gwangju · QFHard7-6(6) 6-4
- WAlexis Galarneau2026· Gwangju · R16Hard6-4 6-3
- WYunchaokete Bu2026· Gwangju · R32Hard6-4 6-4
- LLiam Broady2026· Busan · QFHard6-3 4-6 6-4
- WAlexis Galarneau2026· Busan · R16Hard6-1 6-4
- WKasidit Samrej2026· Busan · R32Hard3-6 6-4 7-6(4)
- WJie Cui2026· Wuning · R32Hard7-6(3) 7-6(3)
- LPavel Kotov2026· Wuning · R16Hard6-4 7-6(6)
- LYuto Oki2026· Miyazaki · R32Hard4-6 6-4 7-6(4)
- LSoonWoo Kwon2026· Yokkaichi · R16Hard7-5 6-3
- WRenta Tokuda2026· Yokkaichi · R32Hard6-3 3-6 6-3
- LRemy Bertola2026· Cherbourg · R16Hard7-6(5) 7-6(3)
- WThomas Faurel2026· Cherbourg · R32Hard6-1 4-6 6-4
- LKeegan Smith2026· Thionville · R32Hard6-3 3-6 6-3
- WKaichi Uchida2026· Lugano · R32Hard7-6(10) 5-7 6-2
- LMika Brunold2026· Lugano · R16Hard7-5 7-6(3)
- LSascha Gueymard Wayenburg2026· Lille · R32Hard6-3 7-5
- LAlexis Galarneau2026· Oeiras 2 · R16Hard6-4 4-6 7-5
- WAdria Soriano Barrera2026· Oeiras 2 · R32Hard7-6(4) 6-1
- LChris Rodesch2026· Oeiras 1 · R32Hard6-3 6-2
- LGiulio Zeppieri2025· Brest · R16Hard6-3 6-2
- WKimmer Coppejans2025· Brest · R32Hard6-2 6-3
- LPavel Kotov2025· Jinan · R32Hard6-3 6-4
- LThiago Agustin Tirante2025· Genoa · R32Clay7-6(5) 7-6(3)
- LYu Hsiou Hsu2025· Chicago · SFHard7-6(2) 3-6 7-6(3)
- WGiles Hussey2025· Chicago · QFHard6-4 6-4
- WAntoine Ghibaudo2025· Chicago · R16Hard6-4 6-4
- WDarian King2025· Chicago · R32Hard6-4 6-4
- LNicolas Mejia2025· Lexington · R32Hard6-7(5) 7-5 5-1 RET
- WGarrett Johns2025· Bloomfield Hills · R32Hard6-1 6-4
- LMark Lajal2025· Bloomfield Hills · R16Hard6-1 6-2
- WJames Watt2025· Granby · R32Hard6-7(5) 7-6(3) 6-4
- WLiam Draxl2025· Granby · FHard6-3 6-3
- WEliot Spizzirri2025· Granby · SFHard6-4 6-1
- WYuta Shimizu2025· Granby · QFHard6-4 4-6 6-3
- WMarek Gengel2025· Granby · R16Hard6-3 6-4
- LLukas Klein2025· Prostejov · R32Clay6-3 6-4
- LMarco Cecchinato2025· Vicenza · R32Clay6-4 6-3
- LLukas Klein2025· Prague · R32Clay6-3 7-5
- LLukas Klein2025· Ostrava · R32Clay6-3 3-6 6-3
- LValentin Royer2025· Madrid · R16Clay7-6(4) 6-2
- WOtto Virtanen2025· Madrid · R32Clay6-3 6-7(5) 7-6(3)
- LHynek Barton2025· Bengaluru · R16Hard7-6(5) 6-3
- WEnrico Dalla Valle2025· Bengaluru · R32Hard6-4 6-4
- LShintaro Mochizuki2025· New Delhi · R32Hard6-3 7-5
- LTitouan Droguet2025· Quimper · R32Hard6-4 7-5
- LConstant Lestienne2024· Noumea · R16Hard5-7 6-2 7-6(1)
- WCourte Heremana2024· Noumea · R32Hard6-1 6-2
- WJules Marie2024· Rovereto · R32Hard6-1 6-2
- LFrancesco Maestrelli2024· Rovereto · SFHard2-6 6-3 6-4
- WAlexey Vatutin2024· Rovereto · QFHard6-4 6-4
- WFederico Arnaboldi2024· Rovereto · R16Hard6-3 6-1
- WEdas Butvilas2024· Helsinki · R32Hard6-4 6-1
- LLuca Nardi2024· Helsinki · R16Hard7-6(6) 7-6(2)
- LValentin Royer2024· Roanne · R32Hard4-6 6-3 7-6(4)
- LManuel Guinard2024· Mouilleron le Captif · R32Hard6-1 6-1
- LBenjamin Lock2024· Istanbul · R32Hard7-6(3) 6-1
- LLaurent Lokoli2024· Grodzisk Mazowiecki · R32Hard5-7 6-4 6-4
- WAlejandro Moro Canas2024· Porto · FHard7-6(3) 7-6(6)
- WMikhail Kukushkin2024· Porto · SFHard6-7(6) 7-5 7-6(5)
- WArthur Reymond2024· Porto · QFHard6-2 4-6 6-3
- WTimofey Skatov2024· Porto · R16Hard7-6(6) 7-6(5)
- WMichael Geerts2024· Porto · R32Hard6-4 1-6 6-3
- LJohn Echeverria2024· Segovia · R32Hard7-5 6-4
- WAntoine Escoffier2024· Pozoblanco · FHard3-6 6-3 6-4
- WEgor Gerasimov2024· Pozoblanco · SFHard3-6 7-6(5) 6-1
- WDaniel Merida2024· Pozoblanco · R32Hard6-4 6-1
- WDan Added2024· Pozoblanco · QFHard7-6(6) 7-6(3)
- WStuart Parker2024· Pozoblanco · R16Hard6-1 6-3
- LAndrea Pellegrino2024· Modena · R32Clay5-7 6-4 6-3
- LBorna Coric2024· Lyon · R32Hard6-7(1) 6-3 6-4
- LJavier Barranco Cosano2024· Heilbronn · R32Clay6-4 6-2
- LDaniel Michalski2024· Augsburg · R32Clay6-2 6-2
- WIlya Ivashka2024· Tenerife 1 · R32Surface TBD6-3 7-5
- LLukas Neumayer2024· Tenerife 1 · R16Surface TBD6-3 6-7(5) 6-4
- LJesper de Jong2024· Tenerife 1 · R32Hard2-6 6-4 6-3
- LAlejandro Moro Canas2024· Oeiras 1 · R16Hard6-3 7-5
- WMaximilian Neuchrist2024· Oeiras 1 · R32Hard6-2 RET
- LGiovanni Fonio2023· Yokohama · R32Hard6-4 6-1
- LLuca Nardi2023· Kobe · R16Hard6-3 3-6 7-5