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 Salzburg Challenger EFG Swiss Open - Gstaad Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg U.S. Open - New York Winston-Salem Open - Winston-Salem Seville Challenger Davis Cup, Group A, Bologna Mallorca Challenger Oeiras 4 Challenger Olbia Challenger Zhuhai Open - Zhuhai Orleans Challenger Shanghai Rolex Masters - Shanghai Astana Open - Astana Alicante Challenger Erste Bank Open - Vienna Helsinki Challenger Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Rolex Paris Masters - Paris Guayaquil Challenger Valencia Challenger Montevideo Challenger Qatar ExxonMobil Open - Doha Canberra Challenger Naples Challenger ASB Classic - Auckland Australian Open - Melbourne Oeiras 3 Challenger Barcelona Open Banc Sabadell - Barcelona BNP Paribas Open - Indian Wells Miami Open - Miami Manama Challenger Quimper Challenger Open Sud de France - Montpellier Davis Cup, World Group, Q, SWE-BRA 1-3 Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Ostrava Challenger Open Parc - Lyon Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Mauthausen Challenger Grand Prix Hassan II - Marrakech San Marino Challenger Lyon Challenger Aix En Provence Challenger Citi Open - Washington Cary Challenger Sassuolo Challenger Nordea Open - Bastad Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem U.S. Open - New York Chengdu Open - Chengdu Istanbul Challenger Orleans Challenger Japan Open Tennis Championships - Tokyo BNP Paribas Nordic Open - Stockholm Zug Challenger Francavilla Challenger Mouilleron-Le-Captif Challenger Seoul Challenger Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris Erste Bank Open - Vienna Roanne Challenger Belgrade Open - Belgrade Matsuyama Challenger Kobe Challenger Rosario Challenger Monte-Carlo Rolex Masters - Monte-Carlo Pune Challenger Mutua Madrid Open - Madrid Cap Cana Challenger Yokkaichi Challenger Chennai Challenger Yokohama Challenger St. Tropez Challenger BMW Open - Munich Rio Open - Rio de Janeiro Zadar Challenger Grodzisk Mazowiecki Challenger National Bank Open - Toronto Abierto Mexicano Telcel - Acapulco Argentina Open - Buenos Aires Hong Kong Tennis Open - Hong Kong New Delhi Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells Oeiras 5 Challenger Internazionali BNL d'Italia - Rome Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Miami Open - Miami Naples Challenger Citi Open - Washington Rome Challenger Tiriac Open - Bucharest Grand Prix Hassan II - Marrakech Cassis Challenger Monza Challenger Hamburg Open - Hamburg French Open - Paris Perugia Challenger Heilbronn Challenger Wimbledon - London Braunschweig Challenger Terra Wortmann Open - Halle Nordea Open - Bastad U.S. Open - New York Cincinnati Open - Cincinnati Winston-Salem Open - Winston-Salem Seville Challenger Porto 2 Challenger Szczecin Challenger China Open - Beijing Bad Waltersdorf Challenger Shanghai Rolex Masters - Shanghai Braga Challenger Lisbon Challenger France F2 Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Serbia F2 France F10 Canada F6 Sweden F4 France F16 France F17 Sweden F6 Sweden F7 Greece F17 Greece F18 Croatia F16 France F1 Israel F1 France F2 Israel F2 France F3 Israel F3 Portugal F2 Great Britain F5 Portugal F3 France F4 Great Britain F6 Great Britain F7 Italy F5 Italy F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Italy F26 Portugal F7 Portugal F8 France F23 France F24 Iran F11 Iran F12 Iran F13 France F1 France F2 France F3 Italy F10 India F8 India F9 India F10 Turkey F28 Turkey F29 Turkey F30 Tunisia F17 Tunisia F18 Egypt F31 Egypt F32 Greece F7 Greece F8 Tunisia F32 Tunisia F33 France F2 Greece F5 France F1 Israel F1 Israel F2 Egypt F7 Macedonia F1 Egypt F8 Egypt F9 Macedonia F2 Greece F3 Greece F4 France F9 Algeria F1 Algeria F2 France F10 Italy F20 Italy F21 Morocco F5 Morocco F6 Croatia F9 Croatia F10 Greece F8 Greece F9 Cyprus F2 Cyprus F3 Israel F17 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Indonesia F2 (Jakarta) Indonesia F3 (Jakarta) Turkey F9 (Antalya) Turkey F10 (Antalya) Spain F9 (Madrid) Tunisia F13 (Hammamet) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) France F10 (Grasse) Poland F3 (Mragowo) Belgium F4 (Lasne) France F16 (Uriage) France F17 (Troyes) Portugal F14 (Porto) Spain F31 (Sabadell) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Egypt F34 (Sharm El Sheikh) Egypt F35 (Sharm El Sheikh) Tunisia F8 (Jerba) Turkey F9 (Antalya) France F9 (Grasse) Lebanon F1 (Jounieh) Lebanon F2 (Jounieh) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Tunisia F41 (Monastir) Tunisia F42 (Monastir) Hong Kong F3 (Hong Kong) M25 Hong Kong M25 Tavira M25 Monastir Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Arad Challenger Poznan Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Bangkok Challenger Shanghai Challenger Napa Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Aptos Challenger Vancouver Challenger St. Remy Challenger Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger St. Remy Challenger Rome Challenger Mohammedia Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Blois Challenger Bastad Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Banja Luka Challenger Sibiu Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Rennes Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Irving Challenger St. Brieuc Challenger Barletta Challenger Tunis Challenger Francavilla Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Lyon Challenger Blois Challenger Bastad Challenger Scheveningen Challenger Tampere Challenger Liberec Challenger Pullach Challenger Meerbusch Challenger Chicago Challenger Cassis Challenger Cary Challenger Biella Challenger Orleans Challenger Brest Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Da Nang Challenger Rennes Challenger Punta Del Este Challenger Quimper Challenger Budapest Challenger Cherbourg Challenger Pau Challenger Santiago Challenger Phoenix Challenger St. Brieuc Challenger Alicante Challenger San Luis Potosi Challenger Tallahassee Challenger Savannah Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Almaty Challenger Lyon Challenger Shymkent Challenger Blois Challenger Milan Challenger Ludwigshafen Challenger Braunschweig Challenger San Benedetto Challenger Prague Challenger Tampere Challenger Como Challenger Cassis Challenger Istanbul Challenger Glasgow Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Brest Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Noumea Challenger Rennes Challenger Nur-Sultan Challenger Prague Challenger Todi Challenger Prague II Challenger Cordenons Challenger Aix En Provence Challenger Parma Challenger Iasi Challenger Biella Challenger Split Challenger Lisbon Challenger Istanbul Challenger Marbella Challenger Cary Challenger Orlando Challenger Ortisei Challenger Nur-Sultan 1 Challenger Nur-Sultan 2 Challenger Biella 4 Challenger Lille Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Rome 2 Challenger Ostrava Challenger Biella 5 Challenger Prague Challenger Biella 6 Challenger Biella 7 Challenger Lyon Challenger Aix En Provence Challenger Salzburg-Anif Challenger Braunschweig Challenger Iasi Challenger Tampere Challenger Poznan Challenger St. Tropez Challenger Cassis Challenger Rennes Challenger Istanbul 2 Challenger Orleans Challenger Lisbon Challenger Mouilleron-Le-Captif Challenger Barcelona Challenger Napoli 2 Challenger Brest Challenger Tenerife Challenger Roanne Challenger Bendigo Challenger Quimper Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Pau Challenger Lille Challenger Marbella Challenger Lugano Challenger Sanremo Challenger Barletta Challenger Prague 1 Challenger Aix En Provence Challenger Bordeaux Challenger Zagreb Challenger Vicenza Challenger Prostejov Challenger Perugia Challenger Lyon Challenger Montechiarugolo - Parma Challenger Blois Challenger Salzburg Challenger Todi Challenger Verona Challenger Trieste Challenger Cordenons Challenger San Marino Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Seville Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Helsinki Challenger Andria Challenger Maia Challenger Canberra Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Koblenz Challenger Vilnius Challenger Manama Challenger Waco Challenger Phoenix Challenger Sanremo Challenger Oeiras 3 Challenger Split Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger San Marino Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito Brasil Open - Sao Paulo Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Aircel Chennai Open - Chennai 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 Brisbane International - Brisbane Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril Open Parc - Lyon 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 Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Swiss Open - Gstaad Abierto Mexicano - Los Cabos 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 SkiStar Swedish Open - Bastad Intrum Stockholm Open - Stockholm Murray River Open - Melbourne Open 13 Provence - Marseille Noventi Open - Halle Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Moselle Open - Metz Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan 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 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 Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Open Parc - Lyon Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells 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 Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati 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 Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York 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 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) French Open (juniors) All Lower level tournaments Maia Challenger Davis Cup, World Group I, 1R, SWE-IND 4-0