Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
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 Troyes Challenger Wimbledon - London Nordea Open - Bastad Lexington Challenger Mallorca Challenger U.S. Open - New York Cary 2 Challenger Alicante Challenger Malaga Challenger Stockholm Open - Stockholm Montevideo Challenger M25 Toulouse-Balma Chennai Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells Miami Open - Miami Tenerife 1 Challenger Bengaluru Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 Ostrava Challenger Phoenix Challenger Wimbledon - London M25 Creteil Oeiras 4 Challenger Mexico City Challenger Mauthausen Challenger Savannah Challenger Prague Challenger Cuernavaca Challenger Lyon Challenger French Open - Paris Citi Open - Washington Vicenza Challenger Heilbronn Challenger Sassuolo Challenger Nordea Open - Bastad EFG Swiss Open - Gstaad Santo Domingo Challenger U.S. Open - New York Seville Challenger Istanbul Challenger St. Tropez Challenger Orleans Challenger Manacor Challenger Mouilleron-Le-Captif Challenger Roanne Challenger Seoul Challenger Matsuyama Challenger Brisbane 2 Challenger Chennai Challenger Cherbourg Challenger Pau Challenger National Bank Open - Toronto Grodzisk Mazowiecki Challenger Maia Challenger M15 Madrid San Luis Potosi Challenger Noumea Challenger ASB Classic - Auckland Kigali 1 Challenger New Delhi Challenger Merida Challenger Mallorca Championships - Mallorca Milan Challenger Morelia Challenger Zug Challenger Naples Challenger Savannah Challenger Tiriac Open - Bucharest Rome Challenger Barletta Challenger Monza Challenger Hamburg Open - Hamburg Braunschweig Challenger Nordea Open - Bastad Cordenons Challenger U.S. Open - New York Porto Challenger M25 Gentofte M25 Muttenz Porto 2 Challenger Cassis Challenger Taipei Challenger Szczecin Challenger Bad Waltersdorf Challenger Seoul Challenger BNP Paribas Nordic Open - Stockholm Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 France F12 France F13 Belgium F6 Belgium F7 Canada F6 Sweden F4 France F16 France F17 Sweden F6 Sweden F7 Greece F17 Greece F18 France F1 Israel F1 France F2 Israel F2 France F3 Israel F3 Portugal F2 Great Britain F5 Portugal F3 Great Britain F6 Great Britain F7 Italy F5 Italy F6 Egypt F12 Egypt F13 Egypt F14 France F9 Sweden F2 Spain F10 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Belgium F5 France F14 France F15 Serbia F6 Switzerland F5 Tunisia F4 Tunisia F5 Italy F33 Italy F34 Italy F35 Portugal F12 Senegal F2 France F1 Egypt F2 Egypt F3 Spain F2 Spain F3 Spain F4 Turkey F13 Turkey F14 France F8 France F9 Ukraine F2 Ukraine F3 Israel F7 Turkey F25 Turkey F26 Serbia F4 Serbia F5 France F16 Finland F2 Finland F3 Iran F7 Iran F8 Portugal F12 Portugal F13 Israel F5 Israel F6 France F8 France F9 Netherlands F2 France F12 Serbia F4 Poland F5 Poland F6 France F1 (Bagnoles-de-l'Orne) Italy F9 (Santa Margherita Di Pula) France F9 (Angers) France F4 (Toulouse) Portugal F7 (Porto) Spain F16 (Palma del Rio) Portugal F1 M25+H Mulhouse Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tampere Challenger Cordenons Challenger Bangkok Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Aix En Provence Challenger Rome Challenger Bordeaux Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger Istanbul Challenger Izmir Challenger Mons Challenger Pune Challenger Bratislava Challenger Mouilleron-Le-Captif Challenger Brescia Challenger Noumea Challenger Bergamo Challenger New Delhi Challenger Kyoto Challenger Jonkoping Challenger Bordeaux Challenger Prostejov Challenger Furth Challenger Caltanissetta Challenger Prague Challenger Perugia Challenger Bastad Challenger Poznan Challenger Recanati Challenger Biella Challenger Segovia Challenger Cordenons Challenger Manerbio Challenger Como Challenger St. Remy Challenger Meknes Challenger Rome Challenger Mohammedia Challenger Brest Challenger Guayaquil Challenger Bogota Challenger Koblenz Challenger Dallas Challenger Quimper Challenger Budapest Challenger Santiago Challenger Buenos Aires Challenger Guadalajara Challenger St. Brieuc Challenger San Francisco Challenger Sophia Antipolis Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger San Benedetto Challenger Prague Challenger Tampere Challenger Biella Challenger Cordenons Challenger Meerbusch Challenger Manerbio Challenger Como Challenger Genova Challenger Seville Challenger Istanbul Challenger Rome Challenger Stockton Challenger Lima Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Noumea Challenger Canberra Challenger Rennes Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Lille Challenger St. Brieuc Challenger Tunis Challenger M25 Glasgow Seoul Challenger Aix En Provence Challenger Bordeaux Challenger Blois Challenger Braunschweig Challenger Bastad Challenger Astana Challenger Sopot Challenger Chicago Challenger Seville Challenger Istanbul Challenger Cary Challenger Orleans Challenger Stockton Challenger Fairfield Challenger Brest Challenger Traralgon Challenger Canberra Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Noumea Challenger Rennes Challenger Budapest Challenger Cherbourg Challenger Pau Challenger Phoenix Challenger St. Brieuc Challenger Alicante Challenger Taipei City Challenger Nanchang Challenger Bordeaux Challenger Aix En Provence Challenger Heilbronn Challenger Lisbon Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Winnipeg Challenger Granby Challenger Tampere Challenger Aptos Challenger Vancouver Challenger Orleans Challenger Brest Challenger Hamburg Challenger Charlottesville Challenger Helsinki Challenger Canberra Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Koblenz Challenger Pau Challenger Indian Wells Challenger Nur-Sultan Challenger Prague Challenger Todi Challenger Prague II Challenger Cordenons Challenger Aix En Provence Challenger Split Challenger Barcelona Challenger Lisbon Challenger Istanbul Challenger Marbella Challenger Parma Challenger Bratislava Challenger Cary Challenger Orlando Challenger Sao Paulo Challenger Quimper 2 Challenger Biella 4 Challenger Lille Challenger Marbella Challenger Split 1 Challenger Belgrade Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Heilbronn Challenger Oeiras 3 Challenger Lyon Challenger Aix En Provence Challenger Porto Challenger Braunschweig Challenger Iasi Challenger Pozoblanco Challenger Poznan Challenger Liberec Challenger San Marino Challenger Verona Challenger St. Tropez Challenger Tulln Challenger Cassis Challenger Rennes Challenger Biel Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Brest Challenger Tenerife Challenger Roanne Challenger Pau Challenger Maia 2 Challenger Cherbourg Challenger Pau Challenger Monterrey Challenger Marbella Challenger St. Brieuc Challenger Mexico City Challenger Buenos Aires 2 Challenger Aix En Provence Challenger Bordeaux Challenger Tunis Challenger Vicenza Challenger Forli 6 Challenger Prostejov Challenger Perugia Challenger Lyon Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Salzburg Challenger Pozoblanco Challenger San Marino Challenger Grodzisk Mazowiecki Challenger Granby Challenger Toulouse Challenger Tulln Challenger Rennes Challenger Orleans Challenger Vilnus Challenger Brest Challenger Roanne Challenger Helsinki Challenger Andria Challenger Oeiras 1 Challenger Tenerife 1 Challenger Vilnius Challenger Pau Challenger Lugano Challenger Phoenix Challenger St. Brieuc Challenger Lille Challenger Florianopolis Challenger Buenos Aires Challenger Troisdorf Challenger Heilbronn Challenger Prostejov Challenger Lyon Challenger Montechiarugolo Challenger Cassis Challenger St. Tropez Challenger Guayaquil Challenger Valencia Challenger Quimper Challenger New Delhi Challenger Oeiras 3 Challenger Cary Challenger Taipei 2 Challenger Kobe Challenger Yokohama Challenger St. Tropez Challenger Maia Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad Poznan Challenger If Stockholm Open - Stockholm Arad Challenger Liberec Challenger Open Sud de France - Montpellier Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Cherbourg Challenger Meerbusch Challenger If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Quimper Challenger Quimper Challenger Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai Lille Challenger Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Suisse Open - Gstaad If Stockholm Open - Stockholm Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad Abierto Mexicano - Los Cabos Moselle Open - Metz Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Open 13 Provence - Marseille Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon SkiStar Swedish Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Moselle Open - Metz Kremlin Cup - Moscow Intrum Stockholm Open - Stockholm Istanbul Challenger Murray River Open - Melbourne Open Sud de France - Montpellier Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Kremlin Cup - Moscow Sardegna Open - Cagliari Astana Open - Nur-Sultan Adelaide International 1 - Adelaide Cordoba Open - Cordoba Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona BMW Open - Munich Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Abierto de Tenis Mifel - Los Cabos Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Korea Open - Seoul Tata Open Maharashtra - Pune Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Open Parc - Lyon Hamburg European Open - Hamburg Raanana Challenger Quimper Challenger Prostejov Challenger Cherbourg Challenger Barletta Challenger Caltanissetta Challenger Aix En Provence Challenger Bergamo Challenger Casablanca Challenger Rennes Challenger M25 Cordoba Izmir Challenger Tiburon Challenger Cali Challenger Shanghai Challenger Orleans Challenger Bangalore Challenger Anning Challenger Blois Challenger Milan Challenger Troyes Challenger Yokkaichi Challenger Brisbane 1 Challenger Maia Challenger Pune Challenger Le Gosier Challenger Kigali 2 Challenger Heilbronn Challenger Mouilleron-Le-Captif Challenger Salzburg Challenger Oeiras 1 Challenger Oeiras 2 Challenger Orleans Challenger Lisbon Challenger Braga Challenger Mouilleron-Le-Captif Challenger Prague Challenger Vicenza Challenger Tunis Challenger Lyon Challenger Oeiras 5 Challenger Nottingham 3 Challenger Rennes Challenger Rennes Challenger Drummondville Challenger Genova Challenger San Marino Challenger Rennes Challenger Seville Challenger Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Granby Challenger Miami Open - Miami Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Perugia Challenger Lyon Challenger Sassuolo Challenger Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris 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 Australian Open Qualifying - Doha 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 Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, Group A, Bologna Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) All Lower level tournaments Como Challenger Naples Challenger Buenos Aires Challenger Irving Challenger Zug Challenger Oeiras 2 Challenger Drummondville Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Braunschweig Challenger Gatineau Challenger Bordeaux Challenger Bratislava Challenger Mexico City Challenger Braunschweig Challenger Prague 3 Challenger Seville Challenger Antofagasta Challenger Biella 7 Challenger Brest Challenger Lima 2 Challenger Koblenz Challenger Manama Challenger San Marino Challenger Quimper Challenger Pune Challenger Lille Challenger Acapulco Challenger Tunis Challenger Vancouver Challenger Iasi Challenger Split Challenger Zadar Challenger Aix En Provence Challenger Francavilla Challenger Modena Challenger Bogota Challenger Olbia Challenger Stockholm Open - Stockholm Rothesay International - Eastbourne Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai BNP Paribas Nordic Open - Stockholm Brisbane International - Brisbane Internazionali BNL d'Italia - Rome Davis Cup, Group A, Bologna