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 Braunschweig Challenger Wimbledon - London U.S. Open - New York Mouilleron-Le-Captif Challenger Sydney Challenger Playford Challenger Bergamo Challenger M25 Benicarlo M15 Valencia Matsuyama Challenger Oeiras 1 Challenger Australian Open - Melbourne M15 Bressuire BNP Paribas Open - Indian Wells Koblenz Challenger Cherbourg Challenger Pau Challenger Lille Challenger Miami Open - Miami Barcelona Challenger Mutua Madrid Open - Madrid Madrid Challenger French Open - Paris M25+H Ajaccio Salzburg Challenger Pozoblanco Challenger National Bank Open - Montreal Western & Southern Open - Cincinnati U.S. Open - New York M25+H Bagneres-de-Bigorre Rennes Challenger Japan Open Tennis Championships - Tokyo Shanghai Rolex Masters - Shanghai Taipei 2 Challenger M25 Monastir Kobe Challenger M15 Monastir St. Tropez Challenger BNP Paribas Open - Indian Wells Delray Beach Open - Delray Beach Adelaide International - Adelaide M15 Monastir Australian Open - Melbourne M15 Bressuire M25 Toulouse-Balma Internazionali BNL d'Italia - Rome M25 Mataro Royan Challenger Wimbledon - London Nottingham 3 Challenger Mifel Tennis Open - Los Cabos Citi Open - Washington National Bank Open - Toronto U.S. Open - New York Segovia Challenger Cassis Challenger Orleans Challenger Shanghai Rolex Masters - Shanghai Chengdu Open - Chengdu Jinan Challenger France F12 France F15 France F17 France F20 France F1 France F8 France F9 France F10 France F12 Belgium F3 France F13 France F15 France F19 France F20 France F1 France F2 France F4 France F5 Spain F11 Spain F14 France F8 France F10 France F11 France F12 Spain F26 Spain F27 Spain F28 Spain F29 Belgium F2 France F13 France F14 France F15 Spain F34 Spain F35 France F17 France F18 France F19 Spain F37 France F20 Rodez Spain F38 Spain F1 Great Britain F1 Spain F2 Great Britain F2 France F1 Spain F3 France F2 Spain F5 Portugal F1 France F4 Portugal F2 France F5 Spain F10 Spain F11 France F6 Spain F13 Spain F14 Spain F17 Spain F20 Spain F21 France F10 Spain F22 Spain F24 Spain F25 Spain F26 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F38 Spain F39 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 France F4 France F5 Spain F6 Croatia F5 Croatia F6 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Belgium F1 Netherlands F4 Spain F20 Spain F21 Spain F22 Italy F22 USA F1 USA F2 Spain F2 Spain F4 France F4 Spain F6 Spain F7 Spain F8 Spain F9 Spain F14 Italy F22 Spain F32 Portugal F9 USA F28 Spain F15 USA F3 Spain F1 Spain F3 France F19 France F12 France F13 France F2 France F2 France F3 Belgium F2 France F7 France F4 France F18 Spain F39 Spain F6 Spain F9 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 M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Montauban M15 Xativa M25 Bagneres-De-Bigorre M25 Toulouse M15 Manacor M25 Vale do Lobo M15 Creteil M15 Poitiers M25 Toulouse-Balma M25 Angers M25 Vic M25 Montauban M15 Madrid M25+H Rodez M25 Vic M15 Monastir M15 Poitiers M15 Poitiers M15+H Bressuire M25 Vale do Lobo M25 Angers M15 Las Palmas de Gran Canaria M25+H Ajaccio M25 Santander Quimper Challenger Bordeaux Challenger Recanati Challenger Istanbul Challenger Rennes Challenger Quimper Challenger Bath Challenger St. Brieuc Challenger Tunis Challenger Bordeaux Challenger Nottingham Challenger M25 Monastir Scheveningen Challenger Recanati Challenger Pozoblanco Challenger Cordenons Challenger M25 Reus Segovia Challenger Alphen Challenger St. Remy Challenger Petange Challenger Seville Challenger Szczecin Challenger Orleans Challenger Mons Challenger Sacramento Challenger Charlottesville Challenger Bratislava Challenger Yokohama Challenger Bordeaux Challenger Nottingham Challenger Milan Challenger M25 Carnac San Marino Challenger Cordenons Challenger Mons Challenger Rennes Challenger Bratislava Challenger Yeongwol Challenger Chitre Challenger Cherbourg Challenger Guadalajara Challenger Barranquilla Challenger Le Gosier Challenger Sarasota Challenger Tunis Challenger Rome Challenger Bordeaux Challenger Nottingham Challenger Caltanissetta Challenger Todi Challenger Scheveningen Challenger Poznan Challenger Vancouver Challenger Aptos Challenger St. Remy Challenger Seville Challenger Knoxville Challenger Cherbourg Challenger Quimper Challenger Le Gosier Challenger Mersin Challenger Vercelli Challenger Rome Challenger Bordeaux Challenger Furth Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Cordenons Challenger Manerbio Challenger Genova Challenger Orleans Challenger Rome Challenger Mons Challenger Kobe Challenger Yokohama Challenger Canberra Challenger Furth Challenger Lyon Challenger Cordenons Challenger Como Challenger Ho Chi Minh City Challenger Eckental Challenger Koblenz Challenger Maui Challenger Cherbourg Challenger Santiago Challenger Buenos Aires Challenger Bordeaux Challenger Surbiton Challenger Lisbon Challenger Perugia Challenger Genova Challenger Szczecin Challenger Orleans Challenger Ortisei Challenger Ningboo Challenger Traralgon Challenger Canberra Challenger Eckental Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Lille Challenger Aix En Provence Challenger Bordeaux Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Koblenz Challenger Bordeaux Challenger Parma Challenger Recanati Challenger Amersfoort Challenger Cherbourg Challenger Hamburg Challenger M25 Porto M25 Toulouse-Balma M15 Azay-le-Rideau Cherbourg Challenger M25 Mataro Marburg Challenger Poznan Challenger M25 Villeneuve-Loubet Porto Challenger Barranquilla Challenger Trnava Challenger Tiburon Challenger Rennes Challenger Casablanca Challenger Mauthausen Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Roanne Challenger M15 Gijon Quimper Challenger Cherbourg Challenger Cherbourg Challenger Quimper Challenger St. Brieuc Challenger Panama City Challenger Shenzhen Challenger Tunis Challenger Tallahassee Challenger M25 Monastir Furth Challenger M25 Hazebrouck Prague Challenger M25 Esch/Alzette Todi Challenger Rome Challenger San Benedetto Challenger Recanati Challenger Guimaraes Challenger M15 Lons-le-Saunier M15 Monastir M15 Monastir Como Challenger St. Remy Challenger Petange Challenger Braunschweig Challenger Kenitra Challenger M25 Villeneuve-Loubet Segovia Challenger Seoul Challenger Manerbio Challenger Genova Challenger Seville Challenger Cherbourg Challenger Orleans Challenger Mons Challenger Heilbronn Challenger Porto 2 Challenger Challenger DCNS de Cherbourg - Cherbourg BMW Open - Munich AEGON Championships - London Pozoblanco Challenger Porto 2 Challenger Open 13 - Marseille Open de Nice Cote d'Azur - Nice AEGON Championships - London Orleans Challenger Moselle Open - Metz Apia International - Sydney Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON International - Eastbourne Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz If Stockholm Open - Stockholm Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Open 13 - Marseille Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Open de Nice Cote d'Azur - Nice AEGON Championships - London Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Erste Bank Open - Vienna Swiss Indoors Basel - Basel Brisbane International - Brisbane Heineken Open - Auckland Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Cherbourg Challenger Heilbronn Challenger Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Moselle Open - Metz Savannah Challenger Erste Bank Open - Vienna Valencia Open - Valencia Millennium Estoril Open - Estoril Como Challenger Blois Challenger Open Sud de France - Montpellier Cordenons Challenger Rio Open - Rio de Janeiro Open 13 - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Seville Challenger Bet-at-home Open - Hamburg SkiStar Swedish Open - Bastad Generali Open - Kitzbuhel Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Qatar ExxonMobil Open - Doha Yokohama Challenger Open Sud de France - Montpellier Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril AEGON Championships - London Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Suisse Open - Gstaad Mestre Challenger Abierto Mexicano - Los Cabos Cagliari Challenger Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Bordeaux Challenger Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier New York Open - New York Delray Beach Open - Delray Beach Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Orleans Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Sydney International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Mons Challenger BMW Open - Munich Geneva Open - Geneva Open Parc - Lyon Nature Valley International - Eastbourne Swiss Open - Gstaad Abierto Mexicano de Tenis Mifel - Los Cabos Rennes Challenger Rakuten Japan Open - Tokyo Tata Open Maharashtra - Pune Charlottesville Challenger Forte Village Sardegna Open - Sardinia Sofia Open - Sofia Murray River Open - Melbourne Mouilleron-Le-Captif Challenger Serbia Open - Belgrade BMW Open - Munich Nordea Open - Bastad Singapore Tennis Open - Singapore Anytech365 Andalucia Open - Marbella Adelaide International 1 - Adelaide Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade cinch Championships - London Mallorca Championships - Mallorca Truist Atlanta Open - Atlanta Citi Open - Washington Cherbourg Challeger Winston-Salem Open - Winston-Salem Swiss Indoors Basel - Basel Noumea Challenger San Diego Open - San Diego Korea Open - Seoul St. Brieuc Challenger Adelaide International 1 - Adelaide Prague Challenger Como Challenger Bordeaux Challenger Bordeaux Challenger Sassuolo Challenger Troyes Challenger Delray Beach Open - Delray Beach Brest Challenger Abierto Mexicano Telcel - Acapulco Open D'Orleans - Orleans Orleans Challenger Banja Luka Open - Banja Luka Suzhou Challenger Budapest Challenger Kobe Challenger Noumea Challenger Rennes Challenger Wroclaw Challenger St. Brieuc Challenger Sophia Antipolis Challenger Mallorca Challenger St. Brieuc Challenger Monza Challenger Recanati Challenger Chengdu Open - Chengdu Seville Challenger Toyota Challenger Rakuten Japan Open - Tokyo Pozoblanco Challenger Blois Challenger Perugia Challenger Hong Kong Tennis Open - Hong Kong ASB Classic - Auckland Segovia Challenger Dallas Open - Dallas Seville Challenger Szczecin Challenger Orleans Challenger Mifel Tennis Open - Los Cabos Florence Challenger St. Remy Challenger Abierto Mexicano Telcel - Acapulco Noumea Challenger BMW Open - Munich Mons Challenger Aix En Provence Challenger Orleans Challenger Open Parc - Lyon Prague Challenger Eckental Challenger cinch Championships - London Mallorca Championships - Mallorca Szczecin Challenger Pau Challenger Forli 6 Challenger Winston-Salem Open - Winston-Salem Orleans Challenger Chengdu Open - Chengdu Karlsruhe Challenger Mouilleron-Le-Captif Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Roanne Challenger Oeiras 2 Challenger Porto Challenger Monterrey Challenger Lugano Challenger Bratislava Challenger Helsinki Challenger Girona Challenger Lille Challenger Madrid Challenger Noumea Challenger Oeiras 3 Challenger Rome Challenger Mouilleron-Le-Captif Challenger Aix En Provence Challenger Cagliari Challenger Turin Challenger Roanne Challenger Perugia Challenger St. Brieuc Challenger Seoul Challenger Geneva Challenger Seoul Challenger Szekesfehervar Challenger Canberra Challenger San Diego Challenger Phoenix Challenger Cherbourg Challenger Troisdorf Challenger Oeiras 5 Challenger Guangzhou Challenger Perugia Challenger Bordeaux Challenger Mouilleron-Le-Captif Challenger Guangzhou Challenger Aix En Provence Challenger Nottingham Challenger Braunschweig Challenger Scheveningen Challenger Vancouver Challenger Como Challenger Sibiu Challenger Mouilleron-Le-Captif Challenger Kobe Challenger St. Brieuc Challenger Alicante Challenger Sarasota Challenger Barcelona Challenger Mouilleron-Le-Captif Challenger Phoenix Challenger Lille Challenger St. Brieuc Challenger Sophia Antipolis Challenger Lisbon Challenger Vicenza Challenger Prostejov Challenger Blois Challenger Milan Challenger Perugia Challenger Segovia Challenger Aptos Challenger Portoroz Challenger Genova Challenger Szczecin Challenger Biella Challenger Fairfield Challenger Las Vegas Challenger Charlottesville Challenger Knoxville Challenger Canberra Challenger Burnie Challenger Cherbourg Challenger Indian Wells Challenger Prostejov Challenger Parma Challenger Istanbul Challenger Hamburg Challenger Cherbourg Challenger Nur-Sultan 2 Challenger Marbella Challenger Belgrade Challenger Heilbronn Challenger Oeiras 3 Challenger Lyon Challenger Salzburg-Anif Challenger Open de Moselle - Metz Rennes Challenger Braga Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Brest Challenger Las Vegas Challenger Roanne Challenger Bari Challenger Charlottesville Challenger Turin Challenger Rome 1 Challenger Prague 2 Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Troyes Challenger Braunschweig Challenger Porto Challenger Amersfoort Challenger Pozoblanco Challenger Segovia Challenger Prague 3 Challenger Cassis Challenger Rennes Challenger Valencia Challenger Maia Challenger AEGON Championships - London Oeiras 1 Challenger Ottignies-Louvain-la-Neuve Challenger US Men's Clay Court Championship - Houston Koblenz Challenger Almaty Open - Almaty Cherbourg Challenger Pau Challenger Maia Challenger EFG Swiss Open - Gstaad Swiss Indoors Basel - Basel BNP Paribas Masters - Paris Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Apia International - Sydney Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami National Bank Open - Toronto Winston-Salem Open - Winston-Salem Miami Open - Miami Cincinnati Open - Cincinnati Astana Open - Astana Nordea Open - Bastad Dallas Open - Dallas M25 Roehampton Plava Laguna Croatia Open - Umag Hall of Fame Tennis Championships - Newport Plava Laguna Croatia Open - Umag Citi Open - Washington Delray Beach Open - Delray Beach Almaty Open - Almaty Open Sud de France - Montpellier Qatar ExxonMobil Open - Doha Tennis Napoli Open - Naples cinch Championships - London Open Sud de France - Montpellier US Men's Clay Court Championship - Houston Aircel Chennai Open - Chennai ABN AMRO World Tennis Tournament - Rotterdam Barcelona Open BancSabadell - Barcelona Aircel Chennai Open - Chennai Millennium Estoril Open - Estoril AEGON Championships - London Swiss Open - Gstaad Abierto Mexicano Telcel - Acapulco Rakuten Japan Open - Tokyo ASB Classic - Auckland Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Mallorca Challenger Western & Southern Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Internazionali BNL d'Italia - Rome Wimbledon - London Western & Southern Open - Cincinnati 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 U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group I, PO, JPN-POL 4-0 French Open - Paris Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, World Group, 1R, JPN-FRA 1-4 U.S. Open - New York Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Internazionali BNL d'Italia - Rome Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments French Open (juniors) Olympics - Paris Olympics - Rio de Janeiro Olympics - Tokyo M15+H Bagnoles de l'Orne Davis Cup, World Group, PO, COL-JPN 2-3 Hopman Cup - Perth M25 Porto M15 Monastir