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 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Great Britain F5 Great Britain F6 Egypt F12 Egypt F13 Egypt F14 Israel F3 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Argentina F7 Netherlands F3 Brazil F2 Brazil F5 Brazil F8 Brazil F4 Tunisia F31 Tunisia F32 Tunisia F33 Tunisia F34 Tunisia F35 Tunisia F36 Turkey F8 (Antalya) Turkey F9 (Antalya) Turkey F10 (Antalya) Turkey F11 (Antalya) Turkey F12 (Antalya) Turkey F13 (Antalya) Turkey F14 (Antalya) Spain F12 (Lleida) Spain F13 (Valldoreix) Spain F14 (Vic) Spain F15 (Sta. Margarida Montbui) Argentina F2 (Cordoba) Argentina F3 (Villa Maria) Turkey F32 (Antalya) Turkey F34 (Antalya) Turkey F35 (Antalya) Turkey F36 (Antalya) Turkey F37 (Antalya) Turkey F38 (Antalya) Argentina F8 Turkey F39 (Antalya) Turkey F40 (Antalya) Turkey F41 (Antalya) Brazil F2 (Santos) Brazil F4 (Sao Carlos) Turkey F6 (Antalya) Turkey F7 (Antalya) Turkey F8 (Antalya) Tunisia F12 (Hammamet) Turkey F13 (Antalya) Turkey F14 (Antalya) Egypt F16 (Cairo) Egypt F17 (Cairo) Spain F11 (Valldoreix) Spain F12 (Vic) Spain F14 (Huelva) Netherlands F2 (Den Haag) Netherlands F3 (Amstelveen) Germany F8 (Kassel) Portugal F12 (Porto) Spain F24 (Santander) Spain F25 (Donostia-San-Sebastian) Spain F26 (Oviedo) Spain F27 (Seville) Brazil F6 (Curitiba) Brazil F7 (Sao Carlos) M15 Monastir M15 Monastir M25 Barnstaple M25 Glasgow M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Reus M15 Madrid M15 Las Palmas De Gran Canaria M15 Las Palmas De Gran Canaria M15 Valldoreix M25 Vic M15 Sao Jose Do Rio Preto M15 Curitiba M25+H Kassel M25+H Appiano M25 Rio De Janeiro M25 Poznan M25 Vale Do Lobo Great Britain F7 Portugal F1 Brazil F4 M25 Lima Eckental Challenger Helsinki Challenger Andria Challenger Sacramento Challenger Eckental Challenger Helsinki Challenger Drummondville Challenger Turin Challenger Rome Challenger Furth Challenger Caltanissetta Challenger Ilkley Challenger Braunschweig Challenger Poznan Challenger Istanbul Challenger Aptos Challenger Izmir Challenger Mons Challenger Rennes Challenger Brescia Challenger Bergamo Challenger Jonkoping Challenger Barletta Challenger Sao Paulo Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Biella Challenger Cordenons Challenger Como Challenger Genova Challenger Santos Challenger Rome Challenger Dallas Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Lyon Challenger Tampere Challenger Poprad Tatry Challenger Liberec Challenger Bastad Challenger Cordenons Challenger Manerbio Challenger Tiburon Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Rennes Challenger Prostejov Challenger Bratislava Challenger Bastad Challenger Campinas Challenger Brest Challenger Mouilleron-Le-Captif Challenger Buenos Aires Challenger Pune Challenger Rennes Challenger Napa Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger Buenos Aires Challenger Hamburg Challenger Lima Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Houston Challenger Helsinki Challenger Canberra Challenger Vicenza Challenger Punta Del Este Challenger Prague Challenger Aix En Provence Challenger Iasi Challenger Sibiu Challenger Istanbul Challenger Cary Challenger Guayaquil Challenger Campinas Challenger Antalya 2 Challenger Santiago Challenger Biella 4 Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Rome 2 Challenger Ostrava Challenger Biella 5 Challenger Heilbronn Challenger Aix En Provence Challenger Braunschweig Challenger Iasi Challenger Tampere Challenger Cordenons Challenger Tulln Challenger Rennes Challenger Montevideo Challenger Campinas Challenger Brasilia Challenger Sao Paulo Challenger Poznan Challenger Santa Cruz de la Sierra 2 Challenger Marbella Challenger Pereira Challenger Mexico City Challenger San Luis Potosi Challenger Buenos Aires 2 Challenger Salvador De Bahia Challenger Bordeaux Challenger Zagreb Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Buenos Aires 3 Challenger Cali Challenger Bogota Challenger Iasi Challenger Trieste Challenger Zug Challenger Vancouver Challenger Toulouse Challenger Caltanissetta Challenger Tulln Challenger Campinas Challenger Rio De Janeiro Challenger Guayaquil Challenger Montevideo Challenger Sao Leopoldo Challenger Andria Challenger Maia Challenger Piracicaba Challenger Ottignies-Louvain-la-Neuve Challenger San Francisco Challenger Vilnius Challenger Tunis Challenger Genova Challenger Tampere Challenger Como Challenger Turkey F33 (Antalya) Orleans Challenger Irving Challenger St. Brieuc Challenger Mexico City Challenger Split Challenger Prague 1 Challenger Bordeaux Challenger Oeiras 4 Challenger Heilbronn Challenger Santo Domingo Challenger Lyon Challenger Grodzisk Mazowiecki Challenger St. Tropez Challenger Chicago Challenger Curitiba Challenger Guayaquil Challenger Aix En Provence Challenger Cary Challenger Lima 2 Challenger Montevideo Challenger Ottignies-Louvain-la-Neuve Challenger Manama Challenger Phoenix Challenger Sao Leopoldo Challenger Aix En Provence Challenger Bangalore Challenger Bangalore Challenger Sassuolo Challenger Braunschweig Challenger Kobe Challenger Chennai Challenger Merida Challenger Nur-Sultan Challenger Cordenons Challenger Prague II Challenger St. Tropez Challenger Sao Paulo Challenger Concepcion Challenger Marbella Challenger Trieste Challenger Prague Challenger Santiago 3 Challenger San Marino Challenger Cassis Challenger Cassis Challenger Campinas Challenger Cordenons Challenger Tiburon Challenger Villa Maria Challenger Mouilleron-Le-Captif Challenger Mallorca Challenger Buenos Aires Challenger Santiago 2 Challenger Curitiba Challenger SkiStar Swedish Open - Bastad Buenos Aires Challenger 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 Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona SkiStar Swedish Open - Bastad Vancouver Challenger Tunis Challenger Vina del Mar Challenger Helsinki Challenger Suisse Open - Gstaad Brisbane International - Brisbane Millennium Estoril Open - Estoril Tenerife 1 Challenger SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm TEB BNP Paribas Istanbul Open - Istanbul Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Prostejov Challenger Rio Open - Rio de Janeiro Manerbio Challenger Millennium Estoril Open - Estoril Intrum Stockholm Open - Stockholm Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Salzburg Challenger Turin Challenger Campinas Challenger Nordea Open - Bastad Truist Atlanta Open - Atlanta Citi Open - Washington Naples Challenger Stockholm Open - Stockholm Kremlin Cup - Moscow Astana Open - Nur-Sultan Tata Open Maharashtra - Pune Bastad Challenger Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Chile Dove Men+Care Open - Santiago Barcelona Open Banc Sabadell - Barcelona Nordea Open - Bastad Swiss Open - Gstaad Cordoba Open - Cordoba Santo Domingo Challenger Plava Laguna Croatia Open - Umag Mallorca Challenger Manacor Challenger Malaga Challenger Rakuten Japan Open - Tokyo SkiStar Swedish Open - Bastad Stockholm Open - Stockholm United Cup - Australia Tata Open Maharashtra - Pune Orleans Challenger Argentina Open - Buenos Aires Abierto Mexicano Telcel - Acapulco Mouilleron-Le-Captif Challenger Chile Dove Men+Care Open - Santiago US Men's Clay Court Championship - Houston Roanne Challenger Villa Maria Challenger Campinas Challenger Banja Luka Open - Banja Luka Curitiba Challenger Split Challenger Heilbronn Challenger Antalya Challenger Sao Paulo Challenger Hamburg Open - Hamburg Arad Challenger Buenos Aires Challenger Hamburg Open - Hamburg Mallorca Championships - Mallorca Nordea Open - Bastad Porto Challenger New Delhi Challenger Piracicaba Challenger Rome Challenger Francavilla Challenger Lima 2 Challenger Phoenix Challenger Biella 6 Challenger Bratislava Challenger Bangkok Challenger Biella 7 Challenger Campinas Challenger Mohammedia Challenger Budapest Challenger Phoenix Challenger Lyon Challenger Shanghai Challenger Almaty 1 Challenger Alicante Challenger Tenerife Challenger Zug Challenger Matsuyama Challenger Brasil Open - Sao Paulo Alicante Challenger Oeiras 4 Challenger Qatar ExxonMobil Open - Doha Oeiras 3 Challenger If Stockholm Open - Stockholm Cary Challenger Millennium Estoril Open - Estoril Istanbul Challenger Lima 2 Challenger Orleans Challenger Porto 2 Challenger Maia Challenger Gazprom Hungarian Open - Budapest Aircel Chennai Open - Chennai Buenos Aires Challenger Bad Waltersdorf Challenger Gerry Weber Open - Halle Yokkaichi Challenger Grand Prix Hassan II - Marrakech Rio Open - Rio de Janeiro Yokohama Challenger If Stockholm Open - Stockholm Grand Prix Hassan II - Marrakech Naples Challenger Mexico City Challenger Delray Beach Open - Delray Beach Iasi Challenger Barcelona Open BancSabadell - Barcelona Open Sud de France - Montpellier Braga Challenger SkiStar Swedish Open - Bastad Memphis Open - Memphis Brasil Open - Sao Paulo Argentina Open - Buenos Aires Seville Challenger Nordea Open - Bastad Ostrava Challenger SkiStar Swedish Open - Bastad Stockholm Open - Stockholm Murray River Open - Melbourne Abierto Mexicano de Tenis Mifel - Los Cabos Cordoba Open - Cordoba Argentina Open - Buenos Aires Amersfoort Challenger Movistar Chile Open - Santiago Valencia Challenger Dubai Duty Free Tennis Championships - Dubai Sony Open Tennis - Miami Santa Fe 2 Challenger Miami Open - Miami Argentina Open - Buenos Aires Monte-Carlo Rolex Masters - Monte-Carlo Brasov Challenger Seoul Challenger Miami Open - Miami Braunschweig Challenger Rosario Challenger Pune Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Morelia Challenger Szczecin Challenger Cuernavaca Challenger Miami Open - Miami Monza Challenger Lisbon Challenger Tiriac Open - Bucharest Oeiras 5 Challenger Rogers Cup - Toronto BNP Paribas Nordic Open - Stockholm Perugia Challenger BNP Paribas Open - Indian Wells Sassuolo Challenger Monte-Carlo Rolex Masters - Monte-Carlo Montevideo Challenger Internazionali BNL d'Italia - Rome Orlando Challenger Mauthausen Challenger Ilkley Challenger Zadar Challenger Orleans Challenger Salzburg Challenger Seville Challenger 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 Swiss Open - Gstaad Erste Bank Open - Vienna Hamburg European Open - Hamburg Citi Open - Washington BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Rio Open - Rio de Janeiro BMW Open - Munich Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Korea Open - Seoul Grand Prix Hassan II - Marrakech Mutua Madrid Open - Madrid Miami Open - Miami Nordea Open - Bastad Abierto de Tenis Mifel - Los Cabos BNP Paribas Nordic Open - Stockholm Miami Open - Miami Dubai Duty Free Tennis Championships - Dubai ABN AMRO World Tennis Tournament - Rotterdam Rio Open - Rio de Janeiro Open 13 Provence - Marseille 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 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 Wimbledon - London Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Quimper Challenger 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 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, Group I, 1R, LIB-BRA 0-4 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, Group A, Bologna Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, Group I, 1R, POR-BRA 3-1 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 Davis Cup, World Group, PO, SWE-BIH 3-1 U.S. Open (juniors) Wimbledon (juniors) Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0