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 France F2 Iran F2 France F3 Nigeria F1 Nigeria F2 Saudi Arabia F2 Tunisia F1 Tunisia F2 Tunisia F3 Iran F2 Italy F22 France F13 France F19 France F20 Tunisia F4 UAE F1 Qatar F1 Qatar F2 Portugal F2 Portugal F3 France F5 Morocco F1 Morocco F2 Italy F13 Tunisia F1 Tunisia F2 Tunisia F3 France F9 Iran F1 Tunisia F4 France F2 France F3 Poland F2 Egypt F2 Egypt F3 France F6 France F7 Spain F19 France F18 Tunisia F4 Tunisia F5 Tunisia F6 Tunisia F7 France F3 Great Britain F3 Great Britain F4 Egypt F1 Egypt F2 Egypt F3 Morocco F4 Kuwait F2 Tunisia F1 Austria F4 Austria F5 Austria F6 Romania F15 France F15 France F18 United Arab Emirates F1 United Arab Emirates F2 Morocco F1 Morocco F2 Spain F11 Spain F15 Spain F16 Kuwait F1 Kuwait F2 Tunisia F1 Tunisia F2 Tunisia F3 Georgia F1 Georgia F2 France F19 Morocco F1 Morocco F2 Spain F7 Italy F2 Italy F3 France F6 Italy F8 Tunisia F1 Tunisia F2 Spain F29 Netherlands F5 Netherlands F6 Morocco F7 Spain F35 Spain F36 Portugal F5 Egypt F4 Egypt F5 Spain F39 Sudan F1 Sudan F2 Colombia F1 Colombia F2 Portugal F1 Portugal F2 Italy F5 Great Britain F7 Netherlands F1 Great Britain F8 Kazakhstan F4 Portugal F4 Portugal F5 Portugal F3 Spain F25 Portugal F4 Portugal F5 Brazil F31 Brazil F32 Portugal F2 Portugal F3 Portugal F4 Egypt F2 Egypt F3 Egypt F4 Portugal F5 Portugal F6 Portugal F7 Spain F26 Spain F27 Spain F30 Spain F33 Portugal F9 Portugal F10 Portugal F11 Egypt F32 Egypt F33 Spain F41 Spain F42 Turkey F49 Turkey F50 Portugal F1 Portugal F2 Portugal F3 Turkey F7 Turkey F8 Turkey F9 Portugal F4 Portugal F5 Portugal F6 Belgium F2 Belgium F3 Belgium F4 Belgium F5 Spain F21 Romania F2 Romania F13 Portugal F8 Portugal F9 Portugal F10 Portugal F11 Italy F23 France F17 Tunisia F5 France F12 France F1 Italy F12 Belgium F2 Algeria F1 Algeria F2 Turkey F2 Turkey F42 Turkey F43 Tunisia F3 Tunisia F4 Portugal F3 Morocco F2 Morocco F3 Saudi Arabia F1 Tunisia F1 Italy F6 Portugal F4 Portugal F7 Mozambique F1 Mozambique F2 France F19 Spain F18 Tunisia F2 Belgium F13 Poland F1 Spain F28 China F2 Egypt F36 Egypt F37 Egypt F38 Egypt F39 Morocco F3 Turkey F5 Turkey F6 Turkey F7 France F17 Portugal F3 Egypt F9 Egypt F10 Tunisia F6 Iran F1 Qatar F3 China F1 Czech Republic F4 Tunisia F5 Romania F15 Turkey F47 Turkey F48 Egypt F1 (Sharm El Sheikh) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Egypt F6 (Sharm El Sheikh) Portugal F6 (Porto) Portugal F7 (Carcavelos) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Tunisia F22 (Hammamet) France F17 Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Tunisia F23 (Hammamet) Portugal F14 (Sintra) Portugal F15 (Sintra) M25 Tavira M25 Satu Mare M25 Setubal M25 Elvas M25 Roda de Bara M25 Castelo Branco M25 Idanha-a-Nova M25 Idanha-a-Nova M25 Sintra M25 Sintra M25 Vila Real de Santo Antonio M25 Vale do Lobo Genova Challenger Tunis Challenger Alessandria Challenger Bucaramanga Challenger Segovia Challenger Penza Challenger Astana Challenger Istanbul Challenger Izmir Challenger Mons Challenger Kazan Challenger Quimper Challenger Kyoto Challenger Pingguo Challenger Barletta Challenger Recanati Challenger Istanbul Challenger Seoul Challenger Sao Leopoldo Challenger Rimouski Challenger Tunis Challenger Arad Challenger Binghamton Challenger Lexington Challenger Tulsa Challenger Segovia Challenger Rabat Challenger Marrakech Challenger Maui Challenger Dallas Challenger Rome Challenger Winnetka Challenger Granby Challenger Ortisei Challenger New Delhi Challenger Kolkata Challenger Turin Challenger Aix En Provence Challenger Ilkley Challenger Todi Challenger Tampere Challenger Izmir Challenger Champaign Challenger Bangkok Challenger Puebla Challenger Leon Challenger Le Gosier Challenger Napoli Challenger Rome Challenger Samarkand Challenger Furth Challenger Prague Challenger Istanbul Challenger Bangkok Challenger Timisoara Challenger - Timisoara Surbiton Challenger Gatineau Challenger Istanbul Challenger Brest Challenger Zhuhai Challenger Tunis Challenger Zhangjiagang Challenger Shanghai Challenger Como Challenger Kaohsiung Challenger Tashkent Challenger Lille Challenger Izmir Challenger Lisbon Challenger Bratislava Challenger Milan Challenger Portugal F5 (Quinta Da Marinha) Amersfoort Challenger Prague Challenger Manerbio Challenger Vancouver Challenger M25 Vila Real de Santo Antonio L'Aquila Challenger Cassis Challenger Kaohsiung Challenger Orleans Challenger San Sebastian Challenger Nur-Sultan Challenger Ningboo Challenger Santos Challenger Bratislava Challenger Chitre Challenger Liuzhou Challenger Shenzhen Challenger Helsinki Challenger Knoxville Challenger Manila Challenger Tashkent Challenger Bangkok Challenger Bangkok Challenger M25 Vale do Lobo Meknes Challenger M25 Loule Guadalajara Challenger Itajai Challenger Bengalaru Challenger Knoxville Challenger Casablanca Challenger M25 Sabadell Mersin Challenger Shanghai Challenger Fergana Challenger Prague II Challenger Shenzhen Challenger Prostejov Challenger Sao Paulo Challenger Sibiu Challenger Barcelona Challenger Mestre Challenger Alicante Challenger Braga Challenger M25 Mungia-Laukariz Lisbon Challenger Canberra Challenger M25 Bakio Parma Challenger Bangkok Challenger Istanbul Challenger M25 Porto Biella 1 Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Ostrava Challenger Oeiras 3 Challenger Biella 7 Challenger Braunschweig Challenger Segovia Challenger Verona Challenger Braga Challenger Alicante Challenger Manchester Challenger Brest Challenger Bratislava Challenger Segovia Challenger Manerbio Challenger Jinan Challenger Sao Paulo Challenger Charlottesville Challenger Izmir Challenger M25 Monastir M25 Vale do Lobo Bastad Challenger Baotou Challenger Forli Challenger Forli 3 Challenger Aptos Challenger Champaign Challenger Bengalaru 1 Challenger Blois Challenger M25 Faro Milan Challenger Lille Challenger Almaty Challenger Knoxville Challenger Aguascalientes Challenger Sophia Antipolis Challenger Morelos Challenger Braga Challenger Poznan Challenger Istanbul Challenger Split Challenger Buenos Aires 3 Challenger Glasgow Challenger Banja Luka Challenger Mallorca Challenger Malaga Challenger Charleston Challenger Lisbon Challenger Alicante Challenger Tiburon Challenger St. Tropez Challenger Ostrava Challenger Yokohama Challenger Calgary Challenger Matsuyama Challenger Kobe Challenger Sao Paulo Challenger Maia Challenger Biella 2 Challenger Shymkent Challenger Forli 2 Challenger Ottignies-Louvain-la-Neuve Challenger Chennai Challenger Porto Challenger Aptos Challenger Nur-Sultan 4 Challenger Izmir Challenger Pune Challenger Mallorca Challenger Mouilleron-Le-Captif Challenger St. Brieuc Challenger Bogota Challenger Girona Challenger Prostejov Challenger Madrid Challenger Ostrava Challenger Fairfield Challenger Ambato Challenger Hamburg Challenger Drummondville Challenger Bogota Challenger Francavilla Challenger Tashkent Challenger Oeiras 4 Challenger Troisdorf Challenger Marrakech Challenger Yokkaichi Challenger Grodzisk Mazowiecki Challenger Orleans Challenger Alicante Challenger Hamburg Challenger Augsburg Challenger Lisbon Challenger Oeiras 2 Challenger Oeiras 3 Challenger Seville Challenger Challenger Ford de Cherbourg - Cherbourg Tunis Open - Tunis Togliatti Cup - Togliatti Mordovia Cup 2005 - Saransk Ethias Tennis Trophy - Mons Open Sabadell Atlantico - Barcelona Grand Prix Hassan II - Casablanca Grand Prix Hassan II - Casablanca Dobrich 2 Challenger Aix En Provence Challenger Tunis Open - Tunis The LTA Men's Challenger - Southampton Braga Challenger Tunis Open 2006 - Tunis Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Open de Nice Cote d'Azur - Nice UNICEF Open - 's Hertogenbosch Oeiras 3 Challenger Ostrava Challenger Rabat Challenger Oeiras 1 Challenger Tunis Challenger Sofia 2 Challenger Porto 2 Challenger Porto Challenger Portugal Open - Oeiras Tunis Open 2007 - Tunis Citi Open - Washington San Luis Potosi Challenger Santos Challenger Sao Paulo Challenger Tanger Challenger Kosice Challenger Dubai Duty Free Tennis Championships - Dubai Brasov Challenger Iasi Challenger Geneva Challenger Valencia Open - Valencia Porto Challenger Geneva Challenger Tunis Challenger Caltanissetta Challenger Winston-Salem Open - Winston-Salem Milan Challenger Gerry Weber Open - Halle Istanbul Challenger Barcelona Open BancSabadell - Barcelona Cremona Challenger Champaign Challenger Maia Challenger Dubai Duty Free Tennis Championships - Dubai Chengdu Open - Chengdu Tata Open Maharashtra - Pune Tanger Challenger Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Aptos Challenger Qatar ExxonMobil Open - Doha Tata Open Maharashtra - Pune Campinas Challenger Monza Challenger Rennes Challenger Antalya Open - Antalya Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Oeiras 4 Challenger Qatar ExxonMobil Open - Doha Grand Prix Hassan II - Marrakech Barletta Challenger Turin Challenger Generali Open - Kitzbuhel Mestre Challenger Quito Challenger Millennium Estoril Open - Estoril Caltanissetta Challenger Perugia Challenger Poznan Challenger Lexington Challenger Bunschoten Challenger Cordenons Challenger Tampere Challenger Ho Chi Minh City Challenger Todi Challenger Aix En Provence Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Santos Challenger Qujing Challenger Izmir Challenger Porto Alegre Challenger Mons Challenger Cherbourg Challenger Bangalore Challenger Bordeaux Challenger Samarkand Challenger Orleans Challenger Sopot Challenger San Benedetto Challenger Bergamo Challenger Nur-Sultan Challenger Iasi Challenger Istanbul Challenger Marbella Challenger Prague Challenger Bratislava Challenger Milan Challenger Liberec Challenger San Marino Challenger Barletta Challenger Lisbon Challenger Prague Challenger Tenerife Challenger Charlottesville Challenger Helsinki Challenger Traralgon Challenger Roseto Degli Abruzzi 2 Challenger Open D'Orleans - Orleans Bordeaux Challenger Tunis Challenger Troisdorf Challenger Little Rock Challenger Orlando Challenger Corrientes Challenger Malaga Challenger Cali Challenger Porto Challenger Iasi Challenger Rome Challenger Tampere Challenger San Benedetto Challenger Meerbusch Challenger Oeiras 3 Challenger Rennes Challenger Swiss Indoors Basel - Basel Cassis Challenger Morelos Challenger Pune Challenger Brest Challenger Matsuyama Challenger Toulouse Challenger Eckental Challenger Geneva Challenger Kremlin Cup - Moscow Estoril Open - Estoril Citi Open - Washington Guadalajara Challenger Seville Challenger Porto Challenger Cassis Challenger Bratislava Challenger Porto 2 Challenger Saransk Challenger Sacramento Challenger Poznan Challenger Grand Prix de Tennis de Lyon - Lyon Guimaraes Challenger BRD Nastase Tiriac Trophy - Bucharest Bengaluru Challenger St. Brieuc Challenger Marrakech Challenger Tampere Challenger Timisoara Challenger Nur-Sultan 3 Challenger Jerusalem Challenger Almaty Challenger U.S. National Indoor Tennis Championships - Memphis Tunis Challenger China Open - Beijing Nossa Caixa Tennis Cup - Sao Paulo Meknes Challenger Tunis Challenger Abierto Mexicano Telcel - Acapulco Singapore Tennis Open - Singapore Millennium Estoril Open - Estoril Qatar Open - Doha Banja Luka Challenger AEGON Championships - London Mestre Challenger Manerbio Challenger Open 13 - Marseille Sydney International - Sydney Estoril Open - Estoril Sofia Open - Sofia Qatar ExxonMobil Open - Doha Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Winston-Salem Open - Winston-Salem Dubai Duty Free Tennis Championships - Dubai Hall of Fame Tennis Championships - Newport Citi Open - Washington Malaysian Open - Kuala Lumpur China Open - Beijing Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Delray Beach Open - Delray Beach Aegon Nottingham Open - Nottingham Hall of Fame Tennis Championships - Newport Claro Open Colombia - Bogota BB&T Atlanta Open - Atlanta Citi Open - Washington Kremlin Cup - Moscow Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril BMW Open - Munich Mercedes Cup - Stuttgart Citi Open - Washington Winston-Salem Open - Winston-Salem Moselle Open - Metz Shenzhen Open - Shenzhen China Open - Beijing If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha ASB Classic - Auckland Open Sud de France - Montpellier Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Braga Challenger BB&T Atlanta Open - Atlanta Citi Open - Washington Winston-Salem Open - Winston-Salem Qatar ExxonMobil Open - Doha Shanghai Rolex Masters - Shanghai Garanti Koza Sofia Open - Sofia Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Eskisehir Challenger Ricoh Open - 's-Hertogenbosch Gerry Weber Open - Halle Kyiv Challenger Bergamo Challenger Las Vegas Challenger Citi Open - Washington Winston-Salem Open - Winston-Salem China Open - Beijing European Open - Antwerp Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Sony Open Tennis - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Coupe Rogers - Montreal Murray River Open - Melbourne Aegon Nottingham Open - Nottingham Miami Open - Miami Dubai Duty Free Tennis Championships - Dubai Portugal Open - Oeiras Sardegna Open - Cagliari Grand Prix Hassan II - Marrakech Qatar ExxonMobil Open - Doha BB&T Atlanta Open - Atlanta Shenzhen Open - Shenzhen Dubai Duty Free Tennis Championships - Dubai Belgrade Challenger Zagreb Challenger Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Dubai Duty Free Tennis Championships - Dubai If Stockholm Open - Stockholm Australian Open - Melbourne Belgrade 2 - Belgrade Qatar Exxon Mobil Open - Doha Mercedes Cup - Stuttgart Open 13 Provence - Marseille U.S. Open - New York French Open - Paris Grand Prix Hassan II - Marrakech Wimbledon - London Kremlin Cup - Moscow U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Miami Open - Miami Swiss Open - Gstaad Wimbledon - London French Open - Paris U.S. Open - New York Dubai Duty Free Tennis Championships - Dubai Australian Open - Melbourne U.S. Open - New York French Open - Paris 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 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 Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London French Open - Paris Australian Open - Melbourne Davis Cup, Group 2, PO, LAT-TUN 3-2 Davis Cup, Group II, 1R, GBR-TUN 4-1 Davis Cup, Group II, PO, IRL-TUN 3-2 Davis Cup, Group II, PO, TUN-BLR 2-3 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group II, 1R, TUN-SWE 2-3 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, PO, SLO-TUN 4-1 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, PO, CYP-TUN 1-4 Davis Cup, Group II, 1R, BIH-TUN 3-1 Davis Cup, Group II, PO, TUN-BUL 3-2 Davis Cup, Group II, 1R, TUN-FIN 2-3 Davis Cup, Group II, PO, EST-TUN 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, World Group II, PO, GUA-TUN 1-3 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments M25 Setubal Olympics - London Olympics - Rio de Janeiro Zug Challenger M25 Valldoreix