Handl begann seine Karriere beim SV Frohnleiten. 2007 kam er in die Jugend des SK Sturm Graz, bei dem er später auch in der Akademie spielte. Im August 2014 stand er gegen die Amateure des Wolfsberger AC erstmals im Kader der Amateure der Grazer.
Im April 2015 debütierte er für Sturm Graz II in der Regionalliga, als er am 24. Spieltag der Saison 2014/15 gegen den ATSV Wolfsberg in der 68. Minute für Sebastian Mann eingewechselt wurde. Seinen ersten Treffer in der Regionalliga erzielte er im September 2015 bei einer 2:1-Niederlage gegen den SV Wallern.
Zur Saison 2017/18 wechselte Handl zum SV Lafnitz.[1] Mit Lafnitz stieg er zu Saisonende in die 2. Liga auf. In der Aufstiegssaison kam er in 20 Spielen in der Regionalliga zum Einsatz und blieb dabei ohne Treffer.
Sein Debüt in der zweithöchsten Spielklasse gab er im Juli 2018, als er am ersten Spieltag der Saison 2018/19 gegen die WSG Wattens in der 67. Minute für David Schloffer eingewechselt wurde.
Im Jänner 2019 wechselte er zur ebenfalls zweitklassigen Zweitmannschaft des Bundesligisten FC Wacker Innsbruck.[2] Im April 2019 debütierte er für die erste Mannschaft von Wacker in der Bundesliga, als er am 25. Spieltag gegen den FC Admira Wacker Mödling in der Startelf stand. Mit Wacker musste er 2019 aus der Bundesliga absteigen.
Daraufhin wechselte er zur Saison 2019/20 zum Bundesligisten FK Austria Wien, bei dem er einen bis Juni 2023 laufenden Vertrag erhielt,[3] den er im Jänner 2023 bis Juni 2026 verlängerte.[4]
Nationalmannschaft
Handl spielte im Oktober 2013 erstmals für eine österreichische Jugendnationalauswahl. Im Oktober 2015 kam er gegen die Ukraine erstmals für die U-18-Mannschaft zum Einsatz.
Am 29. Oktober 2023 lief Handl überraschend mit einem Kurzhaarschnitt auf, nachdem er zuvor zwei Jahre nicht beim Friseur war. Im Interview gab er bekannt, die Haare der Krebshilfe gespendet zu haben.[5]