Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011
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 Wimbledon - London EFG Swiss Open - Gstaad Hamburg European Open - Hamburg Generali Open - Kitzbuhel Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Davis Cup, Group A, Bologna Mallorca Challenger Seville Challenger Davis Cup, Group C, Valencia Orleans Challenger Astana Open - Astana Shanghai Rolex Masters - Shanghai Alicante Challenger Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Rolex Paris Masters - Paris Guayaquil Challenger Valencia Challenger Montevideo Challenger Naples Challenger Miami Open - Miami Australian Open - Melbourne Oeiras 3 Challenger BNP Paribas Open - Indian Wells Qatar ExxonMobil Open - Doha Hong Kong Tennis Open - Hong Kong Argentina Open - Buenos Aires Manama Challenger Quimper Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 Davis Cup, World Group, Q, SRB-SVK 0-4 Rio Open - Rio de Janeiro Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Ostrava Challenger Grand Prix Hassan II - Marrakech Oeiras 4 Challenger Wimbledon - London Mauthausen Challenger Monte-Carlo Rolex Masters - Monte-Carlo Prostejov Challenger French Open - Paris Citi Open - Washington Perugia Challenger Winston-Salem Open - Winston-Salem Cary Challenger Sassuolo Challenger Rothesay International - Eastbourne Nordea Open - Bastad Generali Open - Kitzbuhel Hamburg Open - Hamburg Santo Domingo Challenger U.S. Open - New York Istanbul Challenger Bad Waltersdorf Challenger Orleans Challenger BNP Paribas Nordic Open - Stockholm Mouilleron-Le-Captif Challenger Seoul Challenger Roanne Challenger Brest Challenger Belgrade Open - Belgrade Matsuyama Challenger Kobe Challenger Pune Challenger Movistar Chile Open - Santiago Yokkaichi Challenger Chennai Challenger Yokohama Challenger St. Tropez Challenger Zadar Challenger Quimper Challenger Francavilla Challenger Argentina Open - Buenos Aires Barcelona Open Banc Sabadell - Barcelona Grodzisk Mazowiecki Challenger Hong Kong Tennis Open - Hong Kong New Delhi Challenger Australian Open - Melbourne Oeiras 5 Challenger Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Naples Challenger Zug Challenger Rome Challenger Internazionali BNL d'Italia - Rome Tiriac Open - Bucharest Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Monza Challenger Hamburg Open - Hamburg Perugia Challenger French Open - Paris Heilbronn Challenger Libema Open - 's-Hertogenbosch Terra Wortmann Open - Halle Braunschweig Challenger Wimbledon - London Nordea Open - Bastad EFG Swiss Open - Gstaad U.S. Open - New York Seville Challenger Porto 2 Challenger Szczecin Challenger Shanghai Rolex Masters - Shanghai Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger Serbia F6 Serbia F3 Serbia F4 Serbia F9 Serbia F12 Serbia F14 Croatia F1 Croatia F2 Portugal F1 Portugal F2 Portugal F3 Croatia F6 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Italy F6 Romania F1 Serbia F4 Serbia F6 Canada F6 Serbia F11 Sweden F4 Sweden F6 Sweden F7 Israel F14 Israel F15 Cyprus F1 Cyprus F2 Cyprus F3 Israel F1 Egypt F2 Israel F2 Egypt F3 Israel F3 Croatia F2 Great Britain F5 Great Britain F6 Great Britain F7 Turkey F6 Turkey F7 Croatia F6 Egypt F12 Croatia F7 Egypt F13 Egypt F14 Croatia F8 Sweden F2 Bosnia & Herzegovina F2 Romania F3 Hungary F1 Netherlands F1 Netherlands F2 Hungary F3 Netherlands F3 Serbia F5 Romania F10 Serbia F8 Serbia F13 Serbia F14 Kazakhstan F13 Cyprus F2 Cyprus F3 Senegal F1 Senegal F2 Egypt F3 Croatia F5 Tunisia F6 Tunisia F7 Croatia F4 (Opatija) Serbia F5 Serbia F11 Eckental Challenger Banja Luka Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Tunis Challenger Ostrava Challenger Vicenza 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 Casablanca Challenger Wroclaw Challenger Drummondville Challenger Raanana Challenger Turin Challenger Ostrava Challenger Rome Challenger Samarkand Challenger Prostejov Challenger Furth Challenger Caltanissetta Challenger Moscow Challenger Ilkley Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Todi Challenger Poznan Challenger Aptos Challenger Portoroz Challenger Vancouver Challenger Genova Challenger Banja Luka Challenger Istanbul Challenger Izmir Challenger Sibiu Challenger Mons Challenger Mohammedia Challenger Rennes Challenger Casablanca Challenger Bratislava Challenger Ortisei Challenger Brescia Challenger Happy Valley Challenger Bergamo Challenger Puebla Challenger Jonkoping Challenger Guadalajara Challenger San Luis Potosi Challenger Barletta Challenger Turin Challenger Ostrava Challenger Aix En Provence Challenger Bordeaux Challenger Heilbronn Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Milan Challenger Bastad Challenger San Benedetto Challenger Biella Challenger Cortina Challenger Trnava Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Banja Luka Challenger Rome Challenger Mohammedia Challenger Casablanca Challenger Budapest Challenger Eckental Challenger Ortisei Challenger Happy Valley Challenger Koblenz Challenger Dallas Challenger Quimper Challenger Budapest Challenger Bergamo Challenger Zhuhai Challenger Shenzhen Challenger San Francisco Challenger Sophia Antipolis Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Heilbronn Challenger Vicenza Challenger Caltanissetta Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Perugia Challenger San Benedetto Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Sibiu Challenger Tiburon Challenger Rome Challenger Stockton Challenger Almaty Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Canberra Challenger Rennes Challenger Budapest Challenger Punta Del Este Challenger Irving Challenger Marbella Challenger St. Brieuc Challenger Alicante Challenger Tunis Challenger Aix En Provence Challenger Rome Challenger Prostejov Challenger Caltanissetta Challenger Milan Challenger Bastad Challenger Chicago Challenger Cary Challenger Sibiu Challenger Orleans Challenger Brest Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Pune Challenger Rennes Challenger Phoenix Challenger Alicante Challenger Aix En Provence Challenger Heilbronn Challenger Lyon Challenger Ludwigshafen Challenger Tampere Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Canberra Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Parma Challenger Split Challenger Istanbul Challenger Cary Challenger Biella 4 Challenger Split 1 Challenger Split 2 Challenger Rome 1 Challenger Ostrava Challenger Prague Challenger Lyon Challenger Aix En Provence Challenger Braunschweig Challenger St. Tropez Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Marbella Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Cordenons Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Helsinki Challenger Andria Challenger Maia Challenger Poznan Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Split Challenger Cagliari Challenger Bordeaux Challenger Prostejov Challenger Braunschweig Challenger Cassis Challenger Nur-Sultan Challenger Orlando Challenger Marbella Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad PTT Thailand Open - Bangkok If Stockholm Open - Stockholm Bratislava 2 Challenger 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 Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest SkiStar Swedish Open - Bastad Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia 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 Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Kremlin Cup - Moscow If Stockholm Open - Stockholm Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Maharashtra Open - Pune Garanti Koza Sofia Open - Sofia Open 13 Provence - Marseille Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Open 13 Provence - Marseille Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Generali Open - Kitzbuhel Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Tata Open Maharashtra - Pune ASB Classic - Auckland DIEMA XTRA Sofia Open - Sofia Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril Noventi Open - Halle Nature Valley International - Eastbourne SkiStar Swedish Open - Bastad Plava Laguna Croatia Open - Umag German Tennis Championships - Hamburg Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Adelaide International - Adelaide Cordoba Open - Cordoba Argentina Open - Buenos Aires Generali Open - Kitzbuhel Forte Village Sardegna Open - Sardinia Antalya Open - Antalya Great Ocean Road Open - Melbourne Murray River Open - Melbourne Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Gonet Geneva Open - Geneva cinch Championships - London Hamburg European Open - Hamburg Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Swiss Open - Gstaad Generali Open - Kitzbuhel Truist Atlanta Open - Atlanta Citi Open - Washington St. Petersburg Open - St. Petersburg Sofia Open - Sofia Stockholm Open - Stockholm Kremlin Cup - Moscow Sardegna Open - Cagliari Astana Open - Nur-Sultan Adelaide International 1 - Adelaide Tata Open Maharashtra - Pune Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Serbia Open - Belgrade BMW Open - Munich Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Hamburg European Open - Hamburg Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Astana Open - Astana Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Swiss Indoors Basel - Basel Korea Open - Seoul Tel Aviv Watergen Open - Tel Aviv Tennis Napoli Open - Naples Tata Open Maharashtra - Pune ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Libema Open - 's-Hertogenbosch Terra Wortmann Open - Halle Nordea Open - Bastad Miami Open - Miami Maia Challenger Sony Open Tennis - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rogers Cup - Toronto BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris 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 Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Rolex Paris 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 Australian Open - Melbourne French Open - Paris 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 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 U.S. Open - New York 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, World Group, SF, FRA-SRB 3-1 Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, World Group, 1R, SRB-USA 1-3 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, PO, SRB-IND 4-0 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, Group B, Valencia Davis Cup, World Group, PO, NOR-SRB 0-4 Davis Cup, World Group, PO, SWE-BIH 3-1 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Davis Cup, World Group I, 1R, SWE-IND 4-0