In singolare vanta alcuni titoli in tornei dell'ATP Challenger Tour, non ha mai superato le semifinali nel circuito maggiore e nelle prove del Grande Slam ha raggiunto gli ottavi di finale all'Open di Francia 2020 e 2025. Il suo miglior classifica ATP in singolare è stato il 44º posto nel gennaio 2026. In doppio ha disputato una finale del circuito maggiore e non è andato oltre il 200º posto nel 2026. Ha esordito nella squadra tedesca di Coppa Davis nel 2023.

Carriera 2013-2017, primi anni Nel 2013 fa il suo esordio nel circuito ITF, vince il primo titolo in doppio nel 2015 e l'anno seguente il primo in singolare.

Nel maggio 2017 debutta in un torneo del circuito principale qualificandosi per il Geneva Open e viene eliminato al primo turno da Sam Querrey in due set. Un mese più tardi si qualifica anche al main draw dell'ATP 250 sull'erba di Adalia e ottiene i primi successi nel circuito maggiore eliminando Víctor Estrella Burgos e Marsel İlhan; viene sconfitto nei quarti di finale da Yūichi Sugita.

2018-2019, stop per infortunio, rientro e top 300 Nel febbraio 2018 perde la sua prima finale Challenger al Burnie International contro Stéphane Robert. Un mese dopo subisce un doppio infortunio all'addome e alla spalla ed è costretto a stare lontano dal circuito per il resto della stagione. Al rientro nel gennaio 2019 subisce tre sconfitte di fila e per una settimana esce dal ranking. Riparte dai tornei ITF e verso fine anno risale nella top 300 con alcuni successi nei Futures e altri discreti risultati nei Challenger.

2020, quattro semifinali Challenger e ingresso in top 200, ottavi al Roland Garros Nel 2020 raggiunge 4 semifinali nei Challenger e in settembre entra per la prima volta nella top 200. A fine mese supera le qualificazioni al Roland Garros, entrando così per la prima volta in carriera nel tabellone principale di un torneo del Grande Slam; sconfigge quindi nell'ordine Feliciano López, Jan-Lennard Struff e il nº 8 del mondo Matteo Berrettini, nella sua prima vittoria su un top 10; esce di scena agli ottavi di finale per mano di Pablo Carreño Busta e a fine torneo si trova al 122º posto del ranking.

2021, prime semifinali ATP, 3 titoli Challenger e ingresso in top 100 Dopo un inizio stagione senza risultati di grande rilievo, nel luglio 2021 vince il primo titolo Challenger in carriera a Braunschweig, non perde alcun set per tutto il torneo e in finale lascia tre soli giochi a Henri Laaksonen. A fine mese disputa la sua prima semifinale ATP a Umago grazie ai successi su Gianluca Mager e Dušan Lajović, e viene eliminato in tre set da Richard Gasquet. Si ripete una settimana dopo a Kitzbühel, dove sconfigge Laslo Đere, Marco Cecchinato e di nuovo Mager nei quarti, per essere sconfitto al terzo set in semifinale da Pedro Martínez. Conferma il buon momento di forma vincendo in agosto il Challenger di Lüdenscheid superando in finale Nicolás Jarry, risultato che gli consente di portare il miglior ranking alla 106ª posizione. Fa il suo ingresso nella top 100 a novembre dopo la finale persa al Knoxville Challenger. A fine mese sconfigge Alejandro Tabilo nella finale del Challenger di Puerto Vallarta e sale all'84º posto mondiale.

2022, 53º nel ranking, tre titoli Challenger Continua a salire nel ranking nei primi mesi del 2022 con i quarti di finale raggiunti all'ATP di Pune, dove viene sconfitto da João Sousa, e la finale disputata in marzo nel Challenger 125 di Phoenix, persa contro Denis Kudla. Vince un nuovo torneo in maggio al Challenger 100 di Heilbronn con il successo in finale su Andrej Martin, e la settimana dopo sale al 53º posto del ranking. Nei mesi successivi raccoglie una serie quasi ininterrotta di sconfitte e a ottobre esce dalla top 100. Vi fa rientro a fine mese battendo Tomás Martín Etcheverry nella finale del Lima Challenger II e il mese dopo sconfigge Federico Coria in finale al Challenger di Guayaquil.

2023, quarto di finale in un Masters 1000, un titolo Challenger e top 50 Sconfitto nei primi tornei ATP stagionali, cede contro Stan Wawrinka anche al suo esordio in Coppa Davis nella sfida persa 2-3 dalla Germania contro la Svizzera. Vince il primo incontro stagionale in febbraio al primo turno del 250 di Dallas. Nel periodo successivo raccoglie qualche discreto risultato solo nei Challenger. Vince il primo trofeo stagionale ad aprile al Challenger 125 di Sarasota battendo in finale Daniel Elahi Galán e rientra nella top 100. Si spinge per la prima volta nei quarti di finale in un Masters 1000 a Madrid, entra nel main draw come lucky loser ed elimina nell'ordine Oscar Otte, Yannick Hanfmann e Jaume Munar, viene sconfitto in due set da Borna Ćorić e a fine torneo risale alla 65ª posizione ATP. Sconfitto al secondo turno a Roma, si spinge fino al terzo al Roland Garros, dove cede a Grigor Dimitrov dopo aver eliminato al quinto set il nº 8 del mondo Jannik Sinner. Il buon momento si interrompe con i negativi risultati nei tornei sull'erba.

Torna al successo nei tornei su terra battuta e raggiunge i quarti ad Amburgo con la vittoria sul nº 7 del mondo Andrej Rublëv, al quale concede solo 4 giochi, per poi essere eliminato da Zhang Zhizhen. Vince il suo primo incontro in carriera agli Us Open superando Constant Lestienne per poi cedere al secondo turno dopo quattro set ad Alexander Zverev. Trova il suo primo successo in carriera anche in Coppa Davis nella sfida vinta 4-0 contro la Bosnia Erzegovina. Il 2 ottobre porta il best ranking alla 47ª posizione e nel finale di stagione non ottiene risultati significativi

2024: terzo turno a Madrid, due finali Challenger Ad inizio 2024 si ritira durante il match dei quarti di finale al torneo ATP di Auckland dopo aver eliminato Félix Auger-Aliassime. Eliminato al primo turno nei tre tornei successivi, tra cui gli Australian Open, a febbraio sconfigge il nº 6 del mondo Alexander Zverev all'Abierto Mexicano de Tenis ed esce al turno successivo. Torna a mettersi in evidenza raggiungendo il terzo turno al Masters 1000 di Madrid. Eliminato al secondo turno al Roland Garros, perde la finale al Challenger 125 dell'Emilia-Romagna Tennis Cup contro Jesper de Jong. Dopo l'eliminazione al secondo turno a Wimbledon subisce altre cinque sconfitte consecutive. A settembre raggiunge la finale al Challenger di Siviglia e perde in due set contro Roberto Carballés Baena. Al Belgrade Open elimina il top 50 Luciano Darderi ed esce di scena al secondo turno. Scende in campo nelle Finals di Coppa Davis, vince il singolare nei quarti contro il canadese Gabriel Diallo e perde quello in semifinale contro l'olandese Botic van de Zandschulp.

Statistiche Doppio Sconfitte in finale (1) Legenda doppio Grande Slam (0) ATP Finals (0) ATP Masters 1000 (0) ATP Tour 500 (1) ATP Tour 250 (0) N.DataTorneoSuperficieCompagnoAvversari in finalePunteggio 1. 21 giugno 2026 Halle Open, Halle Erba João Fonseca Théo Arribagé Albano Olivetti 6(2)-7, 4-6

Tornei minori Singolare Vittorie (16) Legenda tornei minori Challenger (7) ITF (9) N.DataTorneoSuperficieAvversario in finalePunteggio 1. 26 giugno 2016 Belgium F2, Havré Terra rossa Maxime Authom 6-2, 6-2 2. 24 luglio 2016 Belgium F6, Knokke-Heist Terra rossa Casper Ruud 63-7, 6-1, 7-6(3) 3. 4 dicembre 2016 Qatar F4, Doha Cemento Jonny O'Mara 7-5, 6-3 4. 19 febbraio 2017 Switzerland F2, Bellevue Sintetico (i) Tim Pütz 7-5, 7-6(5) 5. 9 aprile 2017 Qatar F1, Doha Cemento Antoine Escoffier 6-4, 6-3 6. 16 giugno 2019 M15 Kaltenkirchen, Kaltenkirchen Terra rossa Christian Lindell 6-1, 6-3 7. 10 novembre 2019 M15 Malibù, Malibù Cemento Alexander Sarkissian 6-2, 6-4 8. 24 novembre 2019 M15 East Lansing, East Lansing Cemento (i) Michael Geerts 4-6, 6-3, 6-0 9. 1 dicembre 2019 M15 Santo Domingo, Santo Domingo Cemento Jan Choinski 6-3, 4-6, 6-4 10. 11 luglio 2021 Braunschweig Open, Braunschweig Terra rossa Henri Laaksonen 6-1, 6-2 11. 22 agosto 2021 Sauerland Open, Lüdenscheid Terra rossa Nicolás Jarry 7-6(1), 4-6, 6-3 12. 28 novembre 2021 Puerto Vallarta Open, Puerto Vallarta Cemento Alejandro Tabilo 6-3, 3-6, 6-3 13. 15 maggio 2022 Heilbronner Neckarcup, Heilbronn Terra rossa Andrej Martin 3-6, 6-1, 6-4 14. 30 ottobre 2022 Lima Challenger II, Lima Terra rossa Tomás Martín Etcheverry 6-1, 6(4)-7, 6-4 15. 6 novembre 2022 Challenger Ciudad de Guayaquil, Guayaquil Terra rossa Federico Coria 6-2, 6-4 16. 16 aprile 2023 Sarasota Open, Sarasota Terra verde Daniel Elahi Galán 7-6(1), 6-1

Sconfitte in finale (14) Legenda tornei minori Challenger (6) ITF (8) N.DataTorneoSuperficieAvversario in finalePunteggio 1. 13 settembre 2015 Italy F26, Santa Margherita di Pula Terra rossa Lorenzo Sonego 5-7, 4-6 2. 16 ottobre 2016 Italy F33, Santa Margherita di Pula Terra rossa Stefano Travaglia 4-6, 6-2, 1-6 3. 20 novembre 2016 Kuwait F3, Al Kuwait Cemento Marcus Willis 3-6, 6(8)-7 4. 19 marzo 2017 Thailand F5, Hua Hin Cemento Kwon Soon-woo 2-6, 2-6 5. 16 aprile 2017 Qatar F2, Doha Cemento Antoine Escoffier 2-6, 7-6(2), 4-6 6. 29 aprile 2017 Germany F16, Amburgo Cemento (i) Daniel Masur 3-6, 6-3, 3-6 7. 24 dicembre 2017 Hong Kong F4, Hong Kong Cemento Kim Cheong-eui 3-6, 6-3, 5-7 8. 4 febbraio 2018 Burnie International, Burnie Cemento Stéphane Robert 1-6, 2-6 9. 3 marzo 2019 M15 Sharm El Sheikh, Sharm el-Sheikh Cemento Viktor Durasovic 7-6(5), 4-6, 4-6 10. 14 novembre 2021 Knoxville Challenger, Knoxville Cemento (i) Christopher Eubanks 3-6, 4-6 11. 20 marzo 2022 Arizona Tennis Classic, Phoenix Cemento Denis Kudla 6-2, 2-6, 3-6 12. 23 giugno 2024 Emilia-Romagna Tennis Cup, Sassuolo Terra rossa Jesper de Jong 6(5)-7, 1-613.8 settembre 2024 Copa Sevilla, Siviglia Terra rossa Roberto Carballés Baena 3-6, 5-714.29 marzo 2026 Tennis Napoli Cup, Napoli Terra rossa Hamad Međedović 2-6, 4-6

Doppio Vittorie (6) Legenda tornei minori Challenger (0) ITF (6)

N.DataTorneoSuperficieCompagnoAvversari in finalePunteggio 1. 8 febbraio 2015 Sri Lanka F1, Colombo Terra rossa Tom Schönenberg José Checa Calvo Rui Machado 6(6)–7, 6–3, [11–9] 2. 18 settembre 2016 Belgium F14, Damme Terra rossa Marvin Netuschil Oscar Otte Tom Schönenberg 6–2, 6–0 3. 23 ottobre 2016 Italy F34, Santa Margherita di Pula Terra rossa Marvin Netuschil Claudio Fortuna Omar Giacalone 6–2, 6–0 4. 6 novembre 2016 Kuwait F1, Al Kuwait Cemento Fred Simonsson Sanjar Fayziev Shonigmatjon Shofayziyev 7–6(3), 6–2 5. 20 novembre 2016 Kuwait F3, Al Kuwait Cemento Marcus Willis Roy de Valk Ronan Joncour 6–1, 6–1 6. 19 febbraio 2017 Switzerland F2, Bellevue Sintetico (i) Marvin Netuschil Maximilian Neuchrist David Pel 7–5, 1–6, [11–9]

Sconfitte in finale (5) Legenda tornei minori Challenger (0) ITF (5)

N.DataTorneoSuperficieCompagnoAvversari in finalePunteggio 1. 24 maggio 2015 Czech Republic F2, Jablonec nad Nisou Terra rossa Paul Wörner Mateusz Kowalczyk Adam Majchrowicz 3–6, 5–7 2. 13 novembre 2016 Kuwait F2, Al Kuwait Cemento Fred Simonsson Jordi Muñoz Abreu David Pérez Sanz 4–6, 4–6 3. 16 aprile 2017 Qatar F2, Doha Cemento Lucas Miedler Markus Eriksson Milos Sekulic 5–7, 6–3, [7–10] 4. 17 marzo 2019 M15 Sharm El Sheikh, Sharm el-Sheikh Cemento Adrian Bodmer Enrico Dalla Valle Francesco Forti 6–4, 1–6, [7–10] 5. 13 ottobre 2019 M15 Bad Salzdetfurth, Bad Salzdetfurth Sintetico (i) Jan Choinski Lasse Muscheites Stefan Seifert 6–2, 3–6, [9–11]

Risultati in progressione

Statistiche aggiornate al 23 luglio 2026