Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
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 M15 Budapest Bergamo Challenger M15 Valencia Koblenz Challenger Cherbourg Challenger Pau Challenger Hamburg Challenger Barcelona Challenger M15 Split M25 Mataro M15 Prijedor M25 Vic M25 Villeneuve-Loubet M25+H Ajaccio M15 Kamen Porto Challenger Pozoblanco Challenger M15 Monastir M25+H Bagneres-de-Bigorre Rennes Challenger M15 Singapore Mouilleron-Le-Captif Challenger Roanne Challenger St. Brieuc Challenger M25 Monastir M15 Heraklion St. Tropez Challenger Cherbourg Challenger M15 Monastir Bosnia/Herzegovina F1 Bosnia/Herzegovina F1 Serbia & Montenegro F6 Croatia F5 Croatia F1 Croatia F4 Bosnia/Herzegovina F1 Bosnia/Herzegovina F3 France F12 Tunisia F4 Tunisia F5 Tunisia F6 Turkey F4 Turkey F5 Turkey F6 Bosnia/Herzegovina F2 M25 Villeneuve-Loubet M15 Kayseri Segovia Challenger Cassis Challenger Rennes Challenger Orleans Challenger Roanne Challenger Bosnia/Herzegovina F3 Bosnia/Herzegovina F4 Serbia F1 Serbia F2 Serbia F4 Serbia F5 France F15 Bosnia/Herzegovina F7 France F17 Croatia F10 France F20 Iran F5 Iran F6 France F2 Croatia F1 Portugal F1 France F4 Portugal F2 Portugal F3 Turkey F4 Turkey F5 Serbia F3 France F10 France F12 Syria F2 Belgium F2 Serbia F7 Belgium F3 Bosnia/Herzegovina F6 Croatia F9 France F20 Turkey F12 Turkey F13 France F1 Germany F3 France F2 Germany F4 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 France F4 France F5 Turkey F6 Turkey F7 France F7 Spain F14 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Bosnia & Herzegovina F7 France F10 France F11 France F12 Estonia F1 Bosnia/Herzegovina F2 Serbia F4 Spain F29 Serbia F5 France F13 France F15 France F17 France F18 Croatia F7 France F20 Rodez Croatia F8 Sudan F2 Great Britain F1 Great Britain F2 France F1 France F2 Turkey F4 France F4 France F5 Italy F3 France F6 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Serbia F2 France F10 Serbia F3 Croatia F8 Turkey F34 Turkey F35 Turkey F2 Turkey F3 France F4 France F5 Italy F1 Bosnia & Herzegovina F2 Serbia F1 Serbia F2 Serbia F3 Serbia F4 Serbia F5 Serbia F6 Serbia F7 Serbia F8 Croatia F9 Serbia F11 Serbia F14 Croatia F11 Croatia F12 Turkey F43 Turkey F44 Turkey F45 Turkey F46 Turkey F2 Croatia F1 Croatia F2 France F4 Canada F1 Canada F2 Bosnia & Herzegovina F1 Turkey F35 Senegal F1 Senegal F2 Turkey F49 Turkey F50 France F1 Turkey F2 Turkey F3 Turkey F5 Turkey F6 Greece F1 Greece F2 Greece F3 Greece F4 Turkey F22 Turkey F23 Turkey F24 Turkey F25 Egypt F27 Egypt F28 Egypt F29 Senegal F1 Turkey F46 Turkey F27 Turkey F28 Turkey F29 Germany F18 Egypt F40 Egypt F41 Nigeria F3 Nigeria F4 Nigeria F2 Egypt F13 Egypt F14 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Egypt F3 (Sharm El Sheikh) Egypt F8 (Sharm El Sheikh) Egypt F9 (Sharm El Sheikh) Egypt F12 (Sharm El Sheikh) Egypt F13 (Sharm El Sheikh) Egypt F7 (Sharm El Sheikh) Egypt F8 (Sharm El Sheikh) Hungary F6 (Gyor) France F3 M25 Gyor M25 Stockholm M25 Falun M25+H Lagos M15 Manacor M15 Monastir M15+H Bressuire M15 Vale Do Lobo M15 Trnava M15 Sintra M15 Sharm El Sheikh M15 Cairo M15 Benicarlo M15 Cairo M15 Madrid M15 Cairo M15 Manacor M15 Manacor M15+H Bressuire M15 Sharm El Sheikh M25 Vale do Lobo M25 Faro M15 Sharm El Sheikh M25 Vale do Lobo M15 Poitiers M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Reus M25 Angers M15 Sibenik M15 Las Palmas de Gran Canaria M15 Prijedor M15 Doboj M25 Santander M25 Bagneres-De-Bigorre Lugano Challenger M15 Pirot M25 Skopje M25 Toulouse M25 Vale do Lobo M15 Creteil M15 Poitiers M25 Toulouse-Balma M25 Reus M25 Split M25 Vic M25 Sheffield M25 Sunderland M15 Sharm ElSheikh M15 Meerbusch M15 Prijedor M25+H Kassel Cherbourg Challenger Sarajevo Challenger Samarkand Challenger Sarajevo Challenger St. Brieuc Challenger Bordeaux Challenger Rijeka Challenger Napoli Challenger Aachen Challenger Bratislava Challenger Quimper Challenger St. Brieuc Challenger Orbetello Challenger Quimper Challenger Sarajevo Challenger Recanati Challenger Pozoblanco Challenger Segovia Challenger Banja Luka Challenger Orleans Challenger Mons Challenger Rennes Challenger Seoul Challenger Geneva Challenger Bratislava Challenger Quimper Challenger Cherbourg Challenger Rimouski Challenger Itajai Challenger Sao Paulo Challenger Tunis Challenger Ostrava Challenger Bordeaux Challenger Nottingham Challenger Kosice Challenger Timisoara Challenger St. Remy Challenger Istanbul Challenger Orleans Challenger Rennes Challenger Bratislava Challenger Heilbronn Challenger Cherbourg Challenger Guadalajara Challenger Le Gosier Challenger Bordeaux Challenger Samarkand Challenger Karshi Challenger Nottingham Challenger Kosice Challenger Milan Challenger San Marino Challenger Genova Challenger St. Remy Challenger Banja Luka Challenger Izmir Challenger Orleans Challenger Sibiu Challenger Mons Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Happy Valley Challenger Cherbourg Challenger Quimper Challenger Guangzhou Challenger Shenzhen Challenger Le Gosier Challenger Napoli Challenger Mersin Challenger Karshi Challenger Samarkand Challenger Prague Challenger Fergana Challenger Portoroz Challenger Meerbusch Challenger Manerbio Challenger Genova Challenger Istanbul Challenger Orleans Challenger Agri Challenger Mons Challenger Eckental Challenger Happy Valley Challenger Bergamo Challenger Cherbourg Challenger Quimper Challenger Rome Challenger Prostejov Challenger Braunschweig Challenger Recanati Challenger Segovia Challenger Portoroz Challenger Manerbio Challenger Como Challenger Genova Challenger Istanbul Challenger Izmir Challenger Orleans Challenger Mons Challenger Brest Challenger Eckental Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Brescia Challenger Andria Challenger Noumea Challenger Rennes Challenger Bordeaux Challenger Samarkand Challenger Nottingham Challenger Recanati Challenger Cortina Challenger Portoroz Challenger Como Challenger Genova Challenger Izmir Challenger Orleans Challenger Tashkent Challenger Ortisei Challenger Brest Challenger Mouilleron-Le-Captif Challenger Andria Challenger Noumea Challenger Koblenz Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Bergamo Challenger Lille Challenger Mexico City Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Almaty Challenger Fergana Challenger Blois Challenger Perugia Challenger Astana Challenger Segovia Challenger Portoroz Challenger Cordenons Challenger Mallorca Challenger Seville Challenger Szczecin Challenger Shanghai Challenger Orleans Challenger Ortisei Challenger Croatia F4 Eckental Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Andria Challenger Koblenz Challenger St. Brieuc Challenger Croatia F5 Seoul Challenger Aix En Provence Challenger Lisbon Challenger Fergana Challenger Blois Challenger Recanati Challenger Perugia Challenger Prague Challenger Manerbio Challenger Portoroz Challenger France F12 Ortisei Challenger Serbia&Montenegro F1 Cherbourg Challenger France F19 Bosnia/Herzegovina F2 France F2 Croatia F3 Serbia F6 Bosnia/Herzegovina F6 France F1 Serbia & Montenegro F3 Serbia & Montenegro F4 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Trieste Challenger Bosnia & Herzegovina F3 Tunisia F7 Warsaw Challenger Banja Luka Challenger Serbia F2 Rennes Challenger Croatia F7 Istanbul 2 Challenger Croatia F8 Serbia F1 Serbia F2 Mouilleron-Le-Captif Challenger France F15 Serbia F3 Serbia F4 Brest Challenger Serbia F5 Ortisei Challenger Croatia F9 Serbia F2 Turkey F3 France F19 Serbia F3 France F13 Bosnia & Herzegovina F4 France F8 France F9 Syria F1 France F13 Bosnia/Herzegovina F5 France F18 France F19 Croatia F10 Spain F11 Bosnia & Herzegovina F4 France F8 Serbia F3 Estonia F2 Spain F27 Belgium F2 Italy F22 Forli 3 Challenger France F14 Sudan F1 Bosnia & Herzegovina F3 Turkey F33 Turkey F1 Forli 1 Challenger Forli 2 Challenger Turkey F4 Turkey F32 Cherbourg Challenger Croatia F1 Croatia F2 Croatia F8 Bosnia & Herzegovina F3 Serbia F13 Bosnia & Herzegovina F4 Bosnia & Herzegovina F5 Turin Challenger Sanremo Challenger Split Challenger Senegal F2 Prague 2 Challenger Bordeaux Challenger Vicenza Challenger Troisdorf Challenger Forli 6 Challenger M25 Aktobe M25 Kiseljak M25 Montauban M15+H Bagnoles-de-l'Orne Luedenscheid Challenger Troyes Challenger M25 Aktobe Salzburg Challenger M15 Faro M15 Toulouse M15 Doha M25+H Rodez M15 Sharm El Sheikh M15 Sharm El Sheikh Zug Challenger Segovia Challenger M15 Sharm El Sheikh M15 Sharm El Sheikh Grodzisk Mazowiecki Challenger Banja Luka Challenger Como Challenger Cassis Challenger Orleans Challenger Brest Challenger Ortisei Challenger Bergamo Challenger Bratislava Challenger Valencia Challenger M25 Belgrade Maia Challenger Oeiras 2 Challenger Ottignies-Louvain-la-Neuve Challenger Koblenz Challenger M25+H Lagos M15 Opava Madrid Challenger Oeiras 3 Challenger M15 Prague M25 Prostejov Rome Challenger Aix En Provence Challenger M15 Monastir M25 Nussloch Blois Challenger Trieste Challenger M25+H Rodez Banja Luka Challenger Cordenons Challenger Mouilleron-Le-Captif Challenger M25 Kiseljak M15 Sibenik Oeiras 1 Challenger M25 Velenje M25+H Ajaccio M15 Xativa M15 Kursumlijska Banja Lille Challenger M25 Angers M15 Manacor M25 Trimbach M15 Sarajevo M25 Montauban M25 Toulouse-Balma M25 Trnava M15 Osijek M15 Doboj M25 Maribor M25 Trnava M15 Trnava M15 Monastir M25 Porto M15 Sharm ElSheikh M15 Kursumlijska Banja M25 Dubrovnik Serbia Open - Belgrade BMW Open - Munich AEGON Championships - London ATP Studena Croatia Open - Umag Open de Moselle - Metz M15 Osijek M25 Monastir Open 13 - Marseille Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice AEGON Championships - London M25 Benicarlo M15 Sarajevo Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca AEGON Championships - London AEGON International - Eastbourne Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz M15 Monastir If Stockholm Open - Stockholm Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice AEGON Championships - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Moselle Open - Metz Swiss Indoors Basel - Basel Heineken Open - Auckland Open Sud de France - Montpellier PBZ Zagreb Indoors - Zagreb Open 13 - Marseille Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel M15 Bressuire Kremlin Cup - Moscow Erste Bank Open - Vienna Millennium Estoril Open - Estoril Open Sud de France - Montpellier M15 Heraklion M15+H Bagnoles de l'Orne Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz European Open - Antwerp Swiss Indoors Basel - Basel Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Hungarian Open - Budapest Millennium Estoril Open - Estoril Ricoh Open - 's-Hertogenbosch Konzum Croatia Open - Umag Bet-at-home Open - Hamburg M15 Doha European Open - Antwerp Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier M15 Doha Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Moselle Open - Metz European Open - Antwerp M15 Madrid Open Parc - Lyon Turkish Airlines Open Antalya - Antalya M15 Poitiers Nature Valley International - Eastbourne Banja Luka Open - Banja Luka M15 Dubrovnik M15 Azay-le-Rideau M15 Monastir M25 Porto M15 Monastir M15 Monastir M15 Gijon M15 Bali M25 Bali M25 Monastir M15 Doha M25 Hazebrouck M15 Bressuire M25 Esch/Alzette M15 Monastir M15 Monastir M15 Bali M15 Poitiers M15 Hinode M15 Lons-le-Saunier M15 Monastir M15 Monastir M25 Mataro M25 Carnac M15 Sarajevo BH Telecom Indoors Sarajevo 2006 - Sarajevo M15 Kayseri M15 Kayseri Open D'Orleans - Orleans Banja Luka Challenger 2008 - Banja Luka M15 Kayseri M15 Kayseri M15 Monastir BNP Paribas Masters - Paris M25 Maribor Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Sarajevo Open 2004 - Sarajevo M25 Loughborough Sarajevo Open - Sarajevo Sony Ericsson Open 2008 - Belgrade Banja Luka Challenger 2005 - Banja Luka M15 Brcko French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Challenger DCNS de Cherbourg - Cherbourg BH Indoor Sarajevo - Sarajevo Medjurgorje Open - Medjugorje Belgrade Challenger Cherbourg Challeger Palermo Challenger San Marino Challenger Casablanca Challenger Cherbourg Challenger St. Brieuc Challenger Barletta Challenger Santos Challenger Monza Challenger Furth Challenger Rome Challenger San Marino Challenger Bordeaux Challenger Izmir Challenger Pozoblanco Challenger Recanati Challenger Segovia Challenger Manerbio Challenger St. Remy Challenger Istanbul Challenger Mons Challenger Rennes Challenger Bratislava Challenger Helsinki Challenger Noumea Challenger Cherbourg Challenger Orleans Challenger Bath Challenger St. Brieuc Challenger Napoli Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger Surbiton Challenger Scheveningen Challenger Cordenons Challenger St. Remy Challenger Koblenz Challenger Petange Challenger St. Brieuc Challenger Aix En Provence Challenger Surbiton Challenger Perugia Challenger Istanbul Challenger San Benedetto Challenger Eckental Challenger Rennes Challenger Mons Challenger Guadalajara Challenger Leon Challenger Loughborough Challenger Recanati Challenger Tunis Challenger Petange Challenger Heilbronn Challenger Zhangjiagang Challenger Cortina Challenger Meerbusch Challenger Eckental Challenger Recanati Challenger Ortisei Challenger Andria Challenger Lille Challenger Barletta Challenger Tunis Challenger Francavilla Challenger Helsinki Challenger Gwangju Challenger Bordeaux Challenger Vicenza Challenger Prostejov Challenger Prostejov Challenger Arad Challenger Nur-Sultan Challenger Amersfoort Challenger Cordenons Challenger Como Challenger Segovia Challenger Izmir Challenger Istanbul Challenger Tashkent Challenger Ortisei Challenger Jonkoping Challenger Kazan Challenger Ilkley Challenger Cherbourg Challenger Budapest Challenger Prostejov Challenger Cherbourg Challenger Wroclaw Challenger Sophia Antipolis Challenger Karshi Challenger Prague 2 Challenger Astana Challenger Segovia Challenger Szczecin Challenger Pau Challenger Bari Challenger Bratislava Challenger Forli 2 Challenger St. Brieuc Challenger Alicante Challenger Ostrava Challenger St. Remy Challenger Karshi Challenger Tashkent Challenger Samarkand Challenger Poznan Challenger Shymkent Challenger Porto Challenger Sibiu Challenger Florence Challenger Barcelona Challenger Ismaning Challenger Rennes Challenger Noumea Challenger Ismaning Challenger Vilnus Challenger Roanne Challenger Sophia Antipolis Challenger Bordeaux Challenger Busan Challenger Ilkley Challenger Oeiras 1 Challenger Cherbourg Challenger Mauthausen Challenger Porto Challenger Mallorca Challenger Tulln Challenger Orleans Challenger Girona Challenger Rome 1 Challenger Split Challenger Zagreb Challenger Tunis Challenger Poznan Challenger Lyon Challenger Trieste Challenger Pozoblanco Challenger Istanbul Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Porto 2 Challenger Pau Challenger Losinj Challenger Szekesfehervar Challenger Davis Cup, Group 2, 1R, MKD-BIH 2-3 Davis Cup, Group II, 1R, MAR-BIH 2-3 Davis Cup, Group II, 2R, BIH-EST 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Zadar Challenger Lille Challenger Davis Cup, Group II, 1R, BIH-LUX 4-1 Eckental Challenger Oeiras 5 Challenger Royan Challenger Troyes Challenger Nottingham 3 Challenger Lugano Challenger Troisdorf Challenger Pozoblanco Challenger Perugia Challenger Porto 2 Challenger Mouilleron-Le-Captif Challenger Prague 3 Challenger Forli 5 Challenger Karlsruhe Challenger Biel Challenger Roanne Challenger Milan Challenger Aircel Chennai Open - Chennai Barcelona Open BancSabadell - Barcelona Moselle Open - Metz Hall of Fame Tennis Championships - Newport Apia International - Sydney Open Sud de France - Montpellier Bet-at-home Cup - Kitzbuhel BMW Open - Munich Moselle Open - Metz Garanti Koza Sofia Open - Sofia Barcelona Open BancSabadell - Barcelona Open 13 - Marseille Millennium Estoril Open - Estoril AEGON Championships - London Open Sud de France - Montpellier AEGON Championships - London Valencia Open - Valencia Moselle Open - Metz Open 13 Provence - Marseille TEB BNP Paribas Istanbul Open - Istanbul BRD Nastase Tiriac Trophy - Bucharest Winston-Salem Open - Winston-Salem TEB BNP Paribas Istanbul Open - Istanbul Open Sud de France - Montpellier All Lower level tournaments Swiss Indoors Basel - Basel M25 Marburg Barcelona Open BancSabadell - Barcelona Topshelf Open - 's-Hertogenbosch Maia Challenger Miami Open - Miami Mutua Madrid Open - Madrid French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Hopman Cup - Perth M25 Roehampton M25 Toulouse-Balma