Partecipa al suo primo torneo Futures all'India F13 il 22 ottobre 2012 perdendo 0-6, 4-6 contro Vinayak Sharma Kaza. Nel 2013 prende parte a tre Futures austriaci vincendo due partite su cinque. In doppio raggiunge e perde la sua prima finale. Verso la fine del 2014 raggiunge il suo primo quarto di finale Futures in singolare al Turkey F46. Gioca la sua prima semifinale in singolare in carriera nell'agosto 2015 al Futures Austria F6 di Wels, perdendo in tre set contro Tom Kocevar-Desman. A fine mese raggiunge la prima finale all'Austria F8 di Vogau e Dmitry Popko gli concede due soli giochi. Raggiunge poi a fine anno una semifinale in singolare ad Adalia. Raggiunge inoltre una finale in doppio.
Nel febbraio 2016 gioca la semifinale all'Israel F1 di Ramat Gan e ad aprile perde la sua seconda finale al Turkey F14 di Adalia contro Marc Sieber. Il 24 luglio conquista il suo primo titolo all'Austria F3 di Bad Waltersdorf, battendo in finale Corentin Denolly con il punteggio di 6-4, 4-6, 6-3. Si ripete un mese più tardi all'F5 di Innsbruck superando in finale per 6-2, 6-3 Gonçalo Oliveira. Il 4 settembre vince il terzo titolo all'F8 di Sankt Pölten, con il successo in finale su Riccardo Bellotti in due set. Si qualifica poi per il Banja Luka Challenger ed esce al primo turno per mano di Adrian Ungur. Riceve poi una wildcard per le qualificazioni dell'ATP 500 di Vienna e viene sconfitto da Jan-Lennard Struff, nell'incontro decisivo. Verso fine stagione vince il quarto torneo Futures a Candia e perde altre tre finali. In doppio raggiunge quattro finali Futures vincendo un titolo.
Nel febbraio 2017 vince il torneo Turkey F4 di Adalia in doppio mentre la settimana successiva si impone in singolare al Turkey F5. Il 28 maggio raggiunge la prima finale Challenger in carriera a Mestre e viene sconfitto da João Domingues in due set.
Supera le qualificazioni di Wimbledon battendo Kimmer Coppejans, Miljan Zekić e Jay Clarke. Alla sua prima esperienza nel circuito maggiore, al primo turno batte Thomaz Bellucci 6-2, 6-3, 6-2 e al secondo supera il nº 18 del mondo Jack Sock con il punteggio di 6-3, 6-4, 3-6, 2-6, 6-2. Al terzo turno viene eliminato in tre set da Alexander Zverev. Riceve una wildcard per il torneo ATP di Kitzbühel, dove approfitta del ritiro di Nikoloz Basilašvili e al secondo batte la testa di serie nº 1 Pablo Cuevas 6-3, 2-6, 7-6, nei quarti supera Renzo Olivo per 6-3, 1-6, 6-3 e raggiunge la sua prima semifinale ATP in carriera, nella quale viene sconfitto da João Sousa con un doppio 7-6.