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 M15 Nakhon Si Thammarat Wimbledon - London Nordea Open - Bastad Hamburg European Open - Hamburg M25 Astana M25 Roehampton Davis Cup, Group A, Bologna U.S. Open - New York Mallorca Challenger Seville Challenger Oeiras 4 Challenger Orleans Challenger Guayaquil Challenger Alicante Challenger Malaga Challenger Lima 2 Challenger Stockholm Open - Stockholm Valencia Challenger Kobe Challenger Montevideo Challenger Naples Challenger Australian Open - Melbourne Oeiras 3 Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Qatar ExxonMobil Open - Doha Manama Challenger Quimper Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 M15 Kashiwa Wimbledon - London Dubai Duty Free Tennis Championships - Dubai Phoenix Challenger Ostrava Challenger M15 Tsukuba M15 Nishi-Tokyo M15 Monastir Mauthausen Challenger French Open - Paris M25 Changwon Citi Open - Washington M15 Tokyo Cary Challenger Sassuolo Challenger M15 Tokyo Nordea Open - Bastad U.S. Open - New York Istanbul Challenger Orleans Challenger BNP Paribas Nordic Open - Stockholm Francavilla Challenger Mouilleron-Le-Captif Challenger Seoul Challenger Roanne Challenger Matsuyama Challenger Kobe Challenger Astana Challenger Pune Challenger M15 Zahra Yokkaichi Challenger M25 Carrara Chennai Challenger Yokohama Challenger M25 Luan M25 Caloundra St. Tropez Challenger Zadar Challenger M25 Changwon M25 Shenzhen M15 Bali Grodzisk Mazowiecki Challenger M15 Osaka M15 Tokyo M15 Bali M15 Zahra M25 Bali New Delhi Challenger Oeiras 5 Challenger M25 Bali Seoul Challenger M25 Tbilisi Sassuolo Challenger Porto Challenger Mallorca Championships - Mallorca Naples Challenger M15 Nonthaburi Zug Challenger Rome Challenger M15 Osaka Zhangjiagang Challenger Tiriac Open - Bucharest Monza Challenger Hamburg Open - Hamburg M15 Tashkent Perugia Challenger M15 Tashkent Heilbronn Challenger Braunschweig Challenger M25 Luzhou M15 Tokyo Astana Challenger Nordea Open - Bastad U.S. Open - New York Tiburon Challenger M15 Astana M25 Taipei Seville Challenger Shanghai Challenger Porto 2 Challenger M25 Sapporo Szczecin Challenger Suzhou Challenger Las Vegas Challenger Bad Waltersdorf Challenger Braga Challenger Lisbon Challenger BNP Paribas Nordic Open - Stockholm Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Japan F6 Canada F6 Sweden F4 Sweden F6 Sweden F7 Israel F1 Israel F2 Israel F3 Great Britain F5 Great Britain F6 Great Britain F7 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Japan F5 Netherlands F1 Japan F6 Netherlands F2 Japan F7 Japan F8 Netherlands F3 Japan F6 Japan F7 Japan F8 Spain F30 Spain F31 Spain F32 Spain F33 Japan F1 Japan F2 Japan F3 Japan F4 Japan F5 Greece F5 Greece F6 China F6 Japan F6 Japan F7 Japan F8 Korea F3 Korea F4 Korea F5 Vietnam F1 Vietnam F2 Thailand F2 Thailand F3 Vietnam F4 Vietnam F5 Vietnam F6 Indonesia F4 Indonesia F5 USA F4 (Sunrise) USA F5 (Weston) USA F6 (Palm Coast) Japan F1 (Nishi-Tama) Japan F2 (Nishi-Tokyo) Japan F3 (Kofu) Japan F4 (Tsukuba) Japan F5 (Kashiwa) China F7 (Wuhan) Japan F6 (Karuizawa) Japan F7 (Tokyo) Thailand F5 (Nonthaburi) Thailand F6 (Nonthaburi) Turkey F32 (Antalya) Turkey F33 (Antalya) Turkey F34 (Antalya) Turkey F35 (Antalya) Turkey F36 (Antalya) Indonesia F7 (Jakarta) Indonesia F8 (Jakarta) Thailand F11 (Hua Hin) Thailand F12 (Hua Hin) Japan F4 (Tsukuba) Japan F5 (Kashiwa) Japan F6 (Matsuyama) M15 Kashiwa M25 Taipei M25 Taipei M25 Nonthaburi M15 Jakarta M25 Tay Ninh M25 Nonthaburi M15 Antalya M25 Antalya M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Antalya M25 Prague M15 Monastir M15 Monastir M25 Sintra M25 Sintra M25 Jonkoping M25 Falun M25 Setubal M15 Monastir M15 Monastir M25 Bendigo M25 Bendigo M25 Darwin M25 Darwin M25 Kashiwa M25 Jakarta M15 Monastir M15 Monastir M15 Monastir M25 Tsukuba M25 Kashiwa M25 Jakarta M25 Jakarta M25 Jakarta M25 Changwon M15 Nakhon Si Thammarat Eckental Challenger Bratislava Challenger Helsinki Challenger Andria Challenger Toyota 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 Istanbul Challenger Izmir Challenger Mons Challenger Rennes Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger Kyoto 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 Rome Challenger Mohammedia Challenger Kobe Challenger Toyota Challenger Dallas Challenger Kyoto Challenger Yokohama Challenger San Francisco Challenger Barletta Challenger Aix En Provence Challenger Bordeaux Challenger Vicenza Challenger Lyon Challenger Poprad Tatry Challenger Bastad Challenger Winnipeg Challenger Granby Challenger Tampere Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Tiburon Challenger Stockton Challenger Ningboo Challenger Mouilleron-Le-Captif Challenger Kobe Challenger Toyota Challenger Bangalore Challenger Rennes Challenger Burnie Challenger Launceston Challenger Budapest Challenger Yokohama Challenger Zhuhai Challenger Irving Challenger Shenzhen Challenger Qujing Challenger St. Brieuc Challenger Tunis Challenger Seoul Challenger Aix En Provence Challenger Gimcheon Challenger Busan Challenger Prostejov Challenger Shymkent Challenger Almaty Challenger Winnipeg Challenger Bastad Challenger Gatineau Challenger Granby Challenger Chengdu Challenger Jinan Challenger Gwangju Challenger Chicago Challenger Cary Challenger Orleans Challenger Ningboo Challenger Brest Challenger Liuzhou Challenger Mouilleron-Le-Captif Challenger Bangalore Challenger Kobe Challenger Pune Challenger Da Nang Challenger Rennes Challenger Launceston Challenger Chennai Challenger Morelos Challenger Yokohama Challenger Zhuhai Challenger Phoenix Challenger Zhangjiagang Challenger Alicante Challenger Taipei City Challenger Nanchang Challenger Aix En Provence Challenger Heilbronn Challenger Poznan Challenger Lyon Challenger Fergana Challenger Ludwigshafen Challenger Braunschweig Challenger Tampere Challenger Yokkaichi Challenger Baotou Challenger Jinan Challenger Shanghai Challenger Kaohsiung Challenger Hamburg Challenger Liuzhou Challenger Bratislava Challenger Kobe Challenger Helsinki Challenger Canberra Challenger Nur-Sultan Challenger Prague Challenger Prague II Challenger Aix En Provence Challenger Split Challenger Istanbul Challenger Orlando Challenger Biella 4 Challenger Marbella 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 Cassis Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Tenerife Challenger Marbella Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo - Parma Challenger Salzburg Challenger Vancouver Challenger Toulouse Challenger Tulln Challenger Matsuyama Challenger Helsinki Challenger Kobe Challenger Andria Challenger Yokkaichi Challenger Maia Challenger Ottignies-Louvain-la-Neuve Challenger Vilnius Challenger Phoenix Challenger Split Challenger Busan Challenger Bordeaux Challenger Prostejov 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 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 Chengdu Open - Chengdu Intrum Stockholm Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro 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 Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington 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 ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka 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 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 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 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Australian Open (Asia, Wildcard) All Lower level tournaments Yokkaichi Challenger Cary Challenger Maia Challenger Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, World Group I, 1R, SWE-IND 4-0