Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 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 U.S. Open - New York France F19 Romania F17 France F12 Armenia F1 Georgia F2 Germany F13 France F12 USA F22 France F2 France F3 USA F6 Romania F1 Romania F5 Romania F6 Romania F7 Romania F11 Romania F12 Romania F13 Romania F14 Romania F15 Germany F15 Germany F17 France F13 Germany F18 Germany F19 France F15 France F17 France F20 Dominican Republic F4 Dominican Republic F5 France F1 France F2 France F4 Egypt F4 Egypt F6 Romania F1 Romania F2 Romania F3 Romania F5 France F8 Germany F6 France F9 Germany F7 France F10 Germany F8 France F12 Romania F11 Germany F13 Belgium F2 Germany F17 France F13 Turkey F9 France F18 France F19 France F20 Senegal F1 Senegal F2 Dominican Republic F1 Dominican Republic F2 Dominican Republic F3 France F1 France F2 France F4 France F5 Spain F11 Spain F12 France F7 Bulgaria F3 Romania F2 Romania F3 Romania F4 France F8 France F10 France F11 France F12 Germany F9 Spain F27 Romania F9 Romania F10 Spain F29 Belarus F1 Belgium F2 Belarus F2 Germany F13 France F13 Turkey F9 France F17 Turkey F10 France F18 Turkey F11 Belarus F4 Great Britain F1 Great Britain F2 France F2 Turkey F6 Turkey F7 France F4 Turkey F8 France F5 Turkey F10 Turkey F11 Turkey F12 France F6 Turkey F13 Italy F8 Italy F10 Italy F11 Romania F2 Germany F5 France F10 Germany F7 Romania F9 Turkey F6 Turkey F7 Turkey F8 France F4 France F5 Turkey F12 Turkey F15 Turkey F16 Romania F1 Romania F3 Turkey F7 Turkey F8 France F4 Turkey F9 Turkey F15 Belgium F3 Romania F3 Spain F14 France F1 China F1 China F2 Romania F3 Romania F16 M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M15+H Bressuire M25 Vale do Lobo M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Angers M15 Las Palmas de Gran Canaria M25 Montauban M25+H Ajaccio M15 Xativa M25 Santander M25 Bagneres-De-Bigorre M25 Toulouse M25 Vale do Lobo M25 Montauban Ukraine F3 Germany F16 France F15 France F20 Rodez USA F25 Romania F10 Mamaia Challenger - Constanta Open D'Orleans - Orleans Cherbourg Challenger Germany F8 Germany F14 France F14 France F15 France F19 M25 Toulouse-Balma M25 Vic M25 Roehampton M25 Porto Bordeaux Challenger M15 Poitiers M15 Madrid Quimper Challenger Cherbourg Challenger Marburg Challenger Pozoblanco Challenger M25 Reus Recanati Challenger Karshi Challenger Astana Challenger St. Remy Challenger Szczecin Challenger Istanbul Challenger Mons Challenger Rennes Challenger M15 Monastir M25 Monastir Orleans Challenger M15 Monastir M15 Poitiers M15 Valencia Helsinki Challenger Heilbronn Challenger M15 Gijon M25 Monastir M15 Monastir Cherbourg Challenger Sarajevo Challenger Bath Challenger Tunis Challenger Scheveningen Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Petange Challenger Lermontov Challenger Rennes Challenger M25 Angers Tunis Challenger Karshi Challenger Bordeaux Challenger Samarkand Challenger Nottingham Challenger M25+H Rodez Arad Challenger Kosice Challenger Timisoara Challenger Scheveningen Challenger Poznan Challenger Oberstaufen Challenger St. Remy Challenger M15 Manacor Petange Challenger Orleans Challenger Fergana Challenger Rennes Challenger Helsinki Challenger Chennai Challenger New Delhi Challenger Cherbourg Challenger Le Gosier Challenger Mersin Challenger Bordeaux Challenger M15 Creteil Orleans Challenger Sibiu Challenger Mons Challenger Tashkent Challenger Rennes Challenger Geneva Challenger New Delhi Challenger Cherbourg Challenger Quimper Challenger Raanana Challenger Heilbronn Challenger Moscow Challenger Braunschweig Challenger Poznan Challenger Prague Challenger Manerbio Challenger Como Challenger Orleans Challenger Mons Challenger Challenger DCNS de Cherbourg - Cherbourg Kazan Challenger Fergana Challenger Como Challenger Orleans Challenger Wroclaw Challenger Ortisei Challenger Caltanissetta Challenger M15 Monastir Monza Challenger Genova Challenger Trani Challenger Samarkand Challenger Salzburg Challenger Vicenza Challenger Recanati Challenger Rome 1 Challenger Chicago Challenger Roanne Challenger Porto Challenger Cary Challenger Guangzhou Challenger Timisoara Challenger - Timisoara Mersin Challenger Liberec Challenger Seoul Challenger Dallas Challenger Cherbourg Challenger Rome Challenger M15 Bressuire M25 Esch/Alzette Manerbio Challenger Meerbusch Challenger Mouilleron-Le-Captif Challenger Noumea Challenger Heilbronn Challenger Kolkata Challenger Irving Challenger Guangzhou Challenger M25 Monastir Bordeaux Challenger Surbiton Challenger Heilbronn Challenger Nottingham Challenger Rome Challenger Braunschweig Challenger Recanati Challenger St. Remy Challenger Trnava Challenger M25 Villeneuve-Loubet Szczecin Challenger Mouilleron-Le-Captif Challenger Prague Challenger M15 Poitiers Ningboo Challenger Helsinki Challenger Shenzhen Challenger Eckental Challenger Burnie Challenger Launceston Challenger Alicante Challenger Le Gosier Challenger Aix En Provence Challenger Bordeaux Challenger Bordeaux Challenger Poznan Challenger M25 Toulouse-Balma Fergana Challenger Seville Challenger Orleans Challenger Canberra Challenger Cordenons Challenger M15 Azay-le-Rideau Aix En Provence Challenger Istanbul Challenger Tashkent Challenger Braunschweig Challenger M25 Vic M25 Mataro Como Challenger Karshi Challenger Istanbul 2 Challenger Samarkand Challenger Furth Challenger Braunschweig Challenger San Benedetto Challenger Segovia Challenger M25+H Ajaccio Vicenza Challenger Lyon Challenger Genova Challenger Segovia Challenger Szczecin Challenger M25 Porto Valencia Challenger Eckental Challenger Mauthausen Challenger Brasov Challenger Forli 6 Challenger Rennes Challenger Cherbourg Challenger M25+H Bagneres-de-Bigorre Trnava Challenger St. Brieuc Challenger Oeiras 1 Challenger Punta Del Este Challenger Prostejov Challenger Lugano Challenger Hamburg Challenger Busan Challenger Perugia Challenger Oeiras 4 Challenger Rennes Challenger Blois Challenger Karlsruhe Challenger Ortisei Challenger Cleveland Challenger Suzhou Challenger Pozoblanco Challenger Noumea Challenger Koblenz Challenger Rennes Challenger M15 Monastir Cherbourg Challenger Mouilleron-Le-Captif Challenger Mersin Challenger Chisinau Challenger Lille Challenger St. Brieuc Challenger Porto Challenger Tunis Challenger Pozoblanco Challenger Cassis Challenger Prostejov Challenger Seoul Challenger Lyon Challenger Ostrava Challenger Perugia Challenger Bordeaux Challenger Ningboo Challenger Liuzhou Challenger Bangalore Challenger Nottingham Challenger Noumea Challenger Marburg Challenger Braunschweig Challenger St. Brieuc Challenger M15 Lons-le-Saunier Rennes Challenger Bercuit Challenger Lisbon Challenger Recanati Challenger Prostejov Challenger Prostejov Challenger Prague Challenger Portoroz Challenger Pozoblanco Challenger Sibiu Challenger St. Brieuc Challenger Bucharest Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Roanne Challenger Pau Challenger Bari Challenger Cherbourg Challenger Pau Challenger Phoenix Challenger Lugano Challenger Sanremo Challenger Heilbronn Challenger Surbiton Challenger Prague 3 Challenger Istanbul Challenger Orleans Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger M15 Monastir Pau Challenger Phoenix Challenger Szekesfehervar Challenger Madrid Challenger Rome Challenger Split Challenger Aix En Provence Challenger Canberra Challenger Oeiras 3 Challenger Porto Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Helsinki Challenger Danderyd Challenger Cherbourg Challenger Pau Challenger Mouilleron-Le-Captif Challenger Murcia Challenger Girona Challenger Barcelona Challenger Cherbourg Challenger Girona Challenger Oeiras 5 Challenger Segovia Challenger Poznan Challenger Royan Challenger Francavilla Challenger Iasi Challenger Tashkent Challenger Cassis Challenger Koblenz Challenger Orleans Challenger Grodzisk Mazowiecki Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Monastir Challenger Porto 2 Challenger St. Petersburg Open - St. Petersburg Hersonissos 6 Challenger Cherbourg Challenger Rennes Challenger AEGON Championships - London Open de Moselle - Metz Sibiu Challenger Open Sud de France - Montpellier Bordeaux Challenger Qatar ExxonMobil Open - Doha Aircel Chennai Open - Chennai Apia International - Sydney Irving Challenger Loughborough Challenger Barcelona Challenger Bratislava Challenger Pune Challenger Sophia Antipolis Challenger Noumea Challenger Kazan Challenger Quimper Challenger St. Brieuc Challenger Todi Challenger Mouilleron-Le-Captif Challenger Istanbul Challenger Mallorca Challenger Moscow Challenger Noumea Challenger Cherbourg Challenger Izmir Challenger Poznan Challenger AEGON International - Eastbourne Mons Challenger Happy Valley Challenger Hong Kong Challenger Credit Agricole Suisse Open - Gstaad Nottingham Challenger Kolkata Challenger Winston-Salem Open - Winston-Salem Geneva Challenger Kosice Challenger If Stockholm Open - Stockholm Kremlin Cup - Moscow Swiss Indoors Basel - Basel Eckental Challenger Bratislava Challenger Aircel Chennai Open - Chennai Ortisei Challenger Cherbourg Challeger Portugal Open - Oeiras SkiStar Swedish Open - Bastad Orleans Challenger Troyes Challenger Credit Agricole Suisse Open - Gstaad Tyumen Challenger Heineken Open - Auckland Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Heilbronn Challenger Topshelf Open - 's-Hertogenbosch Erste Bank Open - Vienna Memphis Open - Memphis Delray Beach Open - Delray Beach Batman Challenger Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Millennium Estoril Open - Estoril St. Petersburg Open - St. Petersburg Moselle Open - Metz Porto Challenger Bergamo Challenger Quimper Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Open Sud de France - Montpellier European Open - Antwerp ASB Classic - Auckland Millennium Estoril Open - Estoril St. Brieuc Challenger Astana Open - Nur-Sultan Antalya Open - Antalya Mercedes Cup - Stuttgart St. Petersburg Open - St. Petersburg Mersin Challenger AEGON Championships - London Barcelona Open BancSabadell - Barcelona Liberec Challenger Kazan Challenger Open 13 - Marseille Bratislava Challenger Austrian Open - Kitzbuhel Moselle Open - Metz Credit Agricole Suisse Open - Gstaad Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg AEGON Championships - London Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Bet-at-home Open - Hamburg Nordea Open - Bastad Plava Laguna Croatia Open - Umag Moselle Open - Metz Winston-Salem Open - Winston-Salem European Open - Antwerp Open Sud de France - Montpellier Suisse Open - Gstaad Moselle Open - Metz Grand Prix Hassan II - Marrakech Open Parc - Lyon Swiss Open - Gstaad Moselle Open - Metz Delray Beach Open - Delray Beach Gazprom Hungarian Open - Budapest Open Parc - Lyon Noventi Open - Halle Abierto Mexicano de Tenis Mifel - Los Cabos Raanana Challenger Arad Challenger Generali Open - Kitzbuhel BCR Open Romania - Bucharest Kremlin Cup - Moscow Brasov Challenger Koblenz Challenger Poznan Challenger Adelaide International 1 - Adelaide Oberstaufen Challenger Tata Open Maharashtra - Pune Open 13 Provence - Marseille Abierto de Tenis Mifel - Los Cabos Barcelona Open BancSabadell - Barcelona Tata Open Maharashtra - Pune Millennium Estoril Open - Estoril BMW Open - Munich Stockholm Open - Stockholm Delray Beach Open - Delray Beach Kremlin Cup - Moscow Citi Open - Washington Kremlin Cup - Moscow Delray Beach Open - Delray Beach Tiriac Open - Bucharest Open 13 - Marseille St. Brieuc Challenger Nottingham 3 Challenger Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle AEGON Championships - London Mouilleron-Le-Captif Challenger Quimper Challenger Grand Prix Hassan II - Casablanca Genova Challenger M25 Carnac Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Malaysian Open - Kuala Lumpur Bordeaux Challenger Open Sud de France - Montpellier Szczecin Challenger ATP Challenger Tour Finals Open 13 - Marseille Mons Challenger Grand Prix Hassan II - Casablanca Budapest Challenger Maui Challenger BRD Nastase Tiriac Trophy - Bucharest Open de Nice Cote d'Azur - Nice Koblenz Challenger Oberstaufen Challenger Topshelf Open - 's-Hertogenbosch Jonkoping Challenger Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Aix En Provence Challenger Orleans Challenger Swiss Indoors Basel - Basel Citi Open - Washington San Diego Challenger BRD Nastase Tiriac Trophy - Bucharest Monza Challenger TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Antalya Cup - Antalya M25 Benicarlo Ostrava Challenger Winston-Salem Open - Winston-Salem Cherbourg Challenger Mouilleron-Le-Captif Challenger Kobe Challenger M15 Bressuire Valencia Open - Valencia M15+H Bagnoles de l'Orne Open Sud de France - Montpellier Mons Challenger Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Tyumen Challenger Barcelona Open BancSabadell - Barcelona Blois Challenger Guadalajara Challenger TEB BNP Paribas Istanbul Open - Istanbul Tunis Challenger Open Sud de France - Montpellier Hall of Fame Open - Newport Generali Open - Kitzbuhel San Marino Challenger Mallorca Challenger Villena Challenger Forli 2 Challenger Florence Challenger Memphis Open - Memphis Abierto Mexicano Telcel - Acapulco Shenzhen Challenger Eckental Challenger Bet-at-home Open - Hamburg Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Antalya Cup - Antalya Lille Challenger Konzum Croatia Open - Umag Hamburg European Open - Hamburg St. Petersburg Open - St. Petersburg Perugia Challenger Amersfoort Challenger Open Sud de France - Montpellier Cagliari Challenger Garanti Koza Sofia Open - Sofia New York Open - New York Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Chengdu Open - Chengdu China Open - Beijing Tata Open Maharashtra - Pune Oeiras 3 Challenger New York Open - New York Geneva Open - Geneva Canberra Challenger BB&T Atlanta Open - Atlanta Boss Open - Stuttgart Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Generali Open - Kitzbuhel bett1HULKS Indoors - Cologne Sofia Open - Sofia Pozoblanco Challenger Segovia Challenger Como Challenger Rennes Challenger Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Kremlin Cup - Moscow Lugano Challenger Singapore Tennis Open - Singapore Prague 2 Challenger Turin Challenger Troisdorf Challenger Perugia Challenger Blois Challenger Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart bett1HULKS Championships - Cologne Noventi Open - Halle Perugia Challenger Orleans Challenger Prague 2 Challenger Milan Challenger Brasov Challenger Troyes Challenger Dallas Open - Dallas Delray Beach Open - Delray Beach Open 13 Provence - Marseille Gonet Geneva Open - Geneva Banja Luka Open - Banja Luka Terra Wortmann Open - Halle Bordeaux Challenger Korea Open - Seoul Roanne Challenger Hersonissos 5 Challenger Maia Challenger Bucharest Open - Bucharest Brest Challenger Lille Challenger BNP Paribas Masters - Paris Sony Open Tennis - Miami Ilkley Challenger Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Porto 2 Challenger Roanne Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai Bet-at-home Open - Hamburg BNP Paribas Open - Indian Wells BNP Paribas Masters - Paris Suisse Open - Gstaad Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris Rakuten Japan Open - Tokyo Maharashtra Open - Pune Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Cordenons Challenger Generali Open - Kitzbuhel Nature Valley International - Eastbourne Murray River Open - Melbourne BNP Paribas Open - Indian Wells Belgrade 2 - Belgrade Ottignies-Louvain-la-Neuve Challenger Sophia Antipolis Challenger Quimper Challenger Cherbourg Challenger Lille Challenger Segovia Challenger Prague 1 Challenger Winston-Salem Open - Winston-Salem Indian Wells Challenger Koblenz Challenger Bratislava 1 Challenger Delray Beach Open - Delray Beach Tenerife 1 Challenger Apia International - Sydney Turin Challenger Dallas Open - Dallas BNP Paribas Open - Indian Wells Sony Open Tennis - Miami ABN AMRO World Tennis Tournament - Rotterdam Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Open Parc - Lyon Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati Western & Southern Open - New York National Bank Open - Toronto Truist Atlanta Open - Atlanta Rakuten Japan Open - Tokyo Atlanta Open - Atlanta Mutua Madrid Open - Madrid Hangzhou Open - Hangzhou Dallas Open - Dallas Miami Open - Miami Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid AEGON Championships - London European Open - Antwerp Aircel Chennai Open - Chennai Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel SkiStar Swedish Open - Bastad Hall of Fame Tennis Championships - Newport 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 French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York French Open - Paris Internazionali BNL d'Italia - Rome Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Wimbledon - London Australian Open - Melbourne Infosys Hall of Fame Open - Newport Iasi Challenger Davis Cup, Group II, PO, TUR-MDA 2-3 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group II, 2R, MDA-BLR 4-1 Davis Cup, Group II, 3R, DEN-MDA 3-2 ATP Cup - Brisbane, Perth, Sydney M25 Hazebrouck Davis Cup, Group II, 1R, BLR-MDA 4-1 Davis Cup, Group 2, PO, HUN-MDA 3-2 Davis Cup, Group II, 1R, MDA-EGY 4-1 Wimbledon (juniors) All Lower level tournaments Davis Cup, Group II, 1R, MDA-HUN 3-2 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, HUN-MDA 4-1 Hopman Cup - Perth St. Brieuc Challenger U.S. Open (juniors) Olympics - Rio de Janeiro French Open (juniors) M25 Mataro Oeiras 4 Challenger Hamburg Challenger Davis Cup, Group 2, 1R, LAT-MDA 5-0 M25 Toulouse-Balma M25 Villeneuve-Loubet