Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour EFG Swiss Open - Gstaad Bosnia & Herzegovina F2 Croatia F8 Bosnia/Herzegovina F6 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Croatia F7 Croatia F1 Croatia F2 Italy F6 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Serbia F1 Serbia F2 Serbia F3 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 France F10 France F12 Italy F20 Italy F27 Croatia F11 Croatia F12 Turkey F49 Turkey F2 Croatia F1 Croatia F2 Spain F3 Italy F1 France F7 France F8 Italy F5 France F13 Belgium F9 France F16 France F17 Croatia F12 Croatia F16 Argentina F4 France F15 France F19 Portugal F7 France F21 Greece F8 Greece F9 Greece F10 France F1 Great Britain F1 Great Britain F2 Italy F1 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Italy F2 Serbia F3 Italy F10 France F4 France F12 France F6 Great Britain F5 Italy F11 France F8 France F9 France F16 Great Britain F5 Italy F24 Argentina F5 Great Britain F8 France F14 Kuwait F1 France F7 Israel F3 Kuwait F2 France F4 Croatia F10 Croatia F8 M25+H Nevers Bulgaria F1 France F9 Spain F25 Santos Challenger Poznan Challenger Mersin Challenger Milan Challenger Recanati Challenger Alphen Challenger Bergamo Challenger Mouilleron-Le-Captif Challenger Quimper Challenger Aix En Provence Challenger Ilkley Challenger Liberec Challenger Alphen Challenger Irving Challenger Como Challenger Nanchang Challenger Caltanissetta Challenger Moscow Challenger Braunschweig Challenger Trnava Challenger Columbus Challenger Tiburon Challenger Guadalajara Challenger Savannah Challenger Orleans Challenger Ortisei Challenger Ilkley Challenger Noumea Challenger Alphen Challenger St. Remy Challenger Tiburon Challenger Stockton Challenger Mohammedia Challenger Fairfield Challenger Noumea Challenger Mallorca Challenger Wroclaw Challenger New Haven Challenger Drummondville Challenger Cassis Challenger Bordeaux Challenger Blois Challenger Santo Domingo Challenger Aptos Challenger Parma Challenger Columbus Challenger Tiburon Challenger Monterrey Challenger Porto Challenger Bratislava Challenger Meerbusch Challenger Quimper Challenger Rennes Challenger Quimper Challenger Budapest Challenger Bordeaux Challenger Rome Challenger Poznan Challenger Samarkand Challenger Vicenza Challenger Meerbusch Challenger Banja Luka Challenger Cassis Challenger Istanbul Challenger Rennes Challenger Brest Challenger Mouilleron-Le-Captif Challenger Kenitra Challenger Ostrava Challenger Istanbul Challenger Sibiu Challenger Ottignies-Louvain-la-Neuve Challenger Split Challenger Oeiras 3 Challenger Quimper Challenger Pau Challenger Rosario Challenger Bordeaux Challenger Aix En Provence Challenger Lyon Challenger Ismaning Challenger Aptos Challenger Vicenza Challenger Mouilleron-Le-Captif Challenger Bergamo Challenger Bratislava Challenger Sao Paulo Challenger Sibiu Challenger Poznan Challenger Cherbourg Challenger Ismaning Challenger Pau Challenger Aix En Provence Challenger Lille Challenger Iasi Challenger Tunis Challenger Split Challenger Barcelona Challenger Lisbon Challenger Lille Challenger Belgrade Challenger Bangalore Challenger Zagreb Challenger Nottingham 1 Challenger Bratislava Challenger Nottingham 2 Challenger Forli Challenger Salzburg-Anif Challenger Cordenons Challenger San Marino Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Cordenons Challenger Tulln Challenger Bergamo Challenger Bratislava Challenger Sibiu Challenger Barcelona Challenger Ismaning Challenger Pau Challenger Bendigo Challenger Turin Challenger Rome 1 Challenger Ismaning Challenger Vancouver Challenger Como Challenger Cherbourg Challenger Bendigo Challenger Forli 4 Challenger Sibiu Challenger Yokohama Challenger Matsuyama Challenger Ismaning Challenger Kobe Challenger Lugano Challenger Zadar Challenger Phoenix Challenger Bratislava 2 Challenger Noumea Challenger Ismaning Challenger Helsinki Challenger Pau Challenger Noumea Challenger Rome 2 Challenger Istanbul 2 Challenger Ostrava Challenger Rennes Challenger Lyon Challenger Rennes Challenger Antalya Challenger Canberra Challenger Szekesfehervar Challenger Zug Challenger Kosice Challenger Istanbul Challenger Aix En Provence Challenger Maia Challenger Kazan Challenger Bratislava 1 Challenger Zadar Challenger Quimper Challenger Canberra Challenger Manama Challenger Ilkley Challenger Brest Challenger Lyon Challenger Tunis Challenger Sacramento Challenger Mohammedia Challenger Fairfield Challenger Casablanca Challenger Zagreb Challenger Guayaquil Challenger St. Brieuc Challenger Prostejov Challenger Granby Challenger Lille Challenger Casablanca Challenger Banja Luka Challenger Francavilla Challenger Recanati Challenger Aptos Challenger Vancouver Challenger Koblenz Challenger Santo Domingo Challenger Mallorca Challenger Arad Challenger Poznan Challenger BH Indoor Sarajevo - Sarajevo Danderyd Challenger Kenitra Challenger Barcelona Challenger Bordeaux Challenger Sarajevo Challenger Barletta Challenger Mouilleron-Le-Captif Challenger Manacor Challenger Blumenau Challenger Kosice Challenger Arad Challenger San Marino Challenger Brasov Challenger Lermontov Challenger Studena Croatia Open - Umag Mercedes Cup - Stuttgart If Stockholm Open - Stockholm Brisbane International - Brisbane Grand Prix Hassan II - Casablanca Open de Nice Cote d'Azur - Nice Winston-Salem Open - Winston-Salem Valencia Open - Valencia Qatar ExxonMobil Open - Doha Memphis Open - Memphis Open 13 - Marseille BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Moselle Open - Metz Open Sud de France - Montpellier Memphis Open - Memphis Quimper Challenger Open Parc - Lyon Shenzhen Open - Shenzhen China Open - Beijing Erste Bank Open - Vienna Brisbane International - Brisbane Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Recanati Challenger Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Qatar ExxonMobil Open - Doha Sarajevo Challenger Open Sud de France - Montpellier Open Parc - Lyon Turkish Airlines Open Antalya - Antalya Open Sud de France - Montpellier Astana Open - Nur-Sultan St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Mercedes Cup - Stuttgart ASB Classic - Auckland European Open - Brussels Swiss Indoors Basel - Basel Erste Bank Open - Vienna Japan Open Tennis Championships - Tokyo Banja Luka Challenger Trnava Challenger Open 13 - Marseille Sarajevo Challenger Casablanca Challenger BRD Nastase Tiriac Trophy - Bucharest Bergamo Challenger Ostrava Challenger Cherbourg Challenger Winston-Salem Open - Winston-Salem Kosice Challenger Braunschweig Challenger Kremlin Cup - Moscow San Benedetto Challenger Tampere Challenger Aircel Chennai Open - Chennai Genova Challenger Meknes Challenger PBZ Zagreb Indoors - Zagreb Tashkent Challenger TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva Geneva Challenger Vegeta Croatia Open - Umag Bratislava Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger Open Sud de France - Montpellier Andria Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Santo Domingo Challenger Morelos Challenger Apia International - Sydney Garanti Koza Sofia Open - Sofia Irving Challenger San Luis Potosi Challenger St. Brieuc Challenger Mersin Challenger St. Brieuc Challenger Milan Challenger Aix En Provence Challenger Winston-Salem Open - Winston-Salem Bordeaux Challenger Heilbronn Challenger St. Petersburg Open - St. Petersburg Aegon Nottingham Open - Nottingham Kremlin Cup - Moscow Konzum Croatia Open - Umag Kremlin Cup - Moscow Erste Bank Open - Vienna Dubai Duty Free Tennis Championships - Dubai Segovia Challenger TEB BNP Paribas Istanbul Open - Istanbul St. Remy Challenger Bet-at-home Open - Hamburg BB&T Atlanta Open - Atlanta Abierto Mexicano - Los Cabos European Open - Antwerp Geneva Open - Geneva St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Lima Challenger Canberra Challenger TEB BNP Paribas Istanbul Open - Istanbul Murray River Open - Melbourne Cherbourg Challenger AEGON Championships - London Antalya Cup - Antalya Quimper Challenger German Tennis Championships - Hamburg Abierto Mexicano Telcel - Acapulco Moselle Open - Metz Serbia Open - Belgrade Shenzhen Open - Shenzhen Sarasota Challenger Rakuten Japan Open - Tokyo Ostrava Challenger Kremlin Cup - Moscow Tallahassee Challenger Konzum Croatia Open - Umag Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Buenos Aires Challenger Open 13 Provence - Marseille Binghamton Challenger Dubai Duty Free Tennis Championships - Dubai Lexington Challenger Gatineau Challenger SkiStar Swedish Open - Bastad Hall of Fame Open - Newport Winston-Salem Open - Winston-Salem Moselle Open - Metz Zhuhai Open - Zhuhai China Open - Beijing Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Cherbourg Challenger Hamburg European Open - Hamburg Bergamo Challenger Plava Laguna Croatia Open - Umag St. Brieuc Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Qingdao Challenger Anning Challenger Rome Challenger bett1HULKS Championships - Cologne Open Occitanie - Montpellier Open Sud de France - Montpellier Serbia Open - Belgrade BMW Open - Munich cinch Championships - London Mallorca Championships - Mallorca Hall of Fame Open - Newport Adelaide International 1 - Adelaide Abierto de Tenis Mifel - Los Cabos Moselle Open - Metz Qatar ExxonMobil Open - Doha Stockholm Open - Stockholm Erste Bank Open - Vienna Noumea Challenger Firenze Open - Florence Astana Open - Astana Open Sud de France - Montpellier Taipei City Challenger Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Nordea Open - Bastad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Brisbane International - Brisbane Japan Open Tennis Championships - Tokyo Almaty Open - Almaty Argentina Open - Buenos Aires Prostejov Challenger Hangzhou Open - Hangzhou Nordea Open - Bastad Erste Bank Open - Vienna Adelaide International - Adelaide Eckental Challenger Dubai Duty Free Tennis Championships - Dubai Hangzhou Open - Hangzhou Qatar ExxonMobil Open - Doha Rio Open - Rio de Janeiro Movistar Chile Open - Santiago Hamburg Open - Hamburg Qatar ExxonMobil Open - Doha Gonet Geneva Open - Geneva Boss Open - Stuttgart China Open - Beijing Mifel Tennis Open - Los Cabos Plava Laguna Croatia Open - Umag Moselle Open - Metz Chengdu Open - Chengdu Budapest Challenger Winnetka Challenger Perugia Challenger Vancouver Challenger Banja Luka Challenger Glasgow Challenger Brest Challenger Andria Challenger Quimper Challenger Hungarian Open - Budapest Blois Challenger Trieste Challenger Cordenons Challenger Anning Challenger Bratislava Challenger Maia Challenger San Benedetto Challenger Biella 3 Challenger Biella 4 Challenger Marbella Challenger Canberra Challenger Split 2 Challenger Biella 5 Challenger Heilbronn Challenger Oeiras 3 Challenger Segovia Challenger Trieste Challenger Alicante Challenger Tenerife Challenger Bordeaux Challenger Ortisei Challenger Helsinki Challenger Forli 3 Challenger Lille Challenger St. Brieuc Challenger Mauthausen Challenger Orleans Challenger Kyiv Challenger Zug Challenger Cordenons Challenger Santo Domingo Challenger Vilnius Challenger Aix En Provence Challenger Prague 2 Challenger Tunis Challenger Heilbronn Challenger Lyon Challenger Poznan Challenger Blois Challenger Salzburg Challenger Porto Challenger BNP Paribas Open - Indian Wells Cherbourg Challenger Phoenix Challenger Banja Luka Open - Banja Luka BMW Open - Munich BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Nottingham 2 Challenger Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Almaty Challenger Orleans Challenger Shanghai Rolex Masters - Shanghai European Open - Antwerp BNP Paribas Masters - Paris Miami Open - Miami Bratislava 2 Challenger Monte-Carlo Rolex Masters - Monte-Carlo Stockholm Open - Stockholm Mutua Madrid Open - Madrid Lyon Challenger Montemar Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Cap Cana Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Aix En Provence Challenger Bordeaux Challenger Open 13 Provence - Marseille Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome Cassis Challenger BNP Paribas Nordic Open - Stockholm Mallorca Championships - Mallorca Citi Open - Washington Lisbon Challenger Orleans Challenger Forli 5 Challenger PBZ Zagreb Indoors - Zagreb Rolex Paris Masters - Paris Miami Open - Miami Western & Southern Open - Cincinnati Garanti Koza Sofia Open - Sofia Delray Beach Open - Delray Beach BNP Paribas Open - Indian Wells Rogers Cup - Toronto Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Anytech365 Andalucia Open - Marbella BNP Paribas Open - Indian Wells Tata Open Maharashtra - Pune ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Sony Open Tennis - Miami Western & Southern Open - New York Miami Open - Miami Miami Open - Miami Dubai Duty Free Tennis Championships - Dubai Belgrade Open - Belgrade Internazionali BNL d'Italia - Rome Open 13 Provence - Marseille Tiriac Open - Bucharest Barcelona Open Banc Sabadell - Barcelona Terra Wortmann Open - Halle Rothesay International - Eastbourne Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo New York Open - New York Shanghai Rolex Masters - Shanghai National Bank Open - Montreal BNP Paribas Open - Indian Wells Miami Open - Miami Cincinnati Open - Cincinnati Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Truist Atlanta Open - Atlanta Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Bet-at-home Open - Hamburg BNP Paribas Open - Indian Wells Aircel Chennai Open - Chennai Rolex Paris Masters - Paris National Bank Open - Toronto Rolex Paris Masters - Paris Winston-Salem Open - Winston-Salem BNP Paribas Open - Indian Wells Abierto Mexicano de Tenis Mifel - Los Cabos Internazionali BNL d'Italia - Rome ABN AMRO World Tennis Tournament - Rotterdam Plava Laguna Croatia Open - Umag Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris Australian Open - Melbourne U.S. Open - New York Wimbledon - London Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris Australian Open - Melbourne Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London U.S. Open - New York Davis Cup, Group II, 2R, BLR-BIH 4-1 Australian Open - Melbourne Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 French Open - Paris Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group I, 2R, BIH-NED 1-3 U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) U.S. Open (juniors) French Open - Paris U.S. Open - New York Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, World Group, Q, TPE-FRA 0-4 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, BIH-LUX 4-1 Australian Open (juniors) Davis Cup, World Group I, 1R, TPE-BIH 3-2 All Lower level tournaments Olympics - Rio de Janeiro Wimbledon (juniors) Davis Cup, Group I, PO, UZB-BIH 1-3 Bucharest Open - Bucharest Miami Open - Miami Bonn Challenger