GMWesley So
- FIDE ID
- 5202213
- USCF ID
- 13145890
About Wesley So
Wesley So grew up in Cavite in the Philippines, where neighbourhood chess offered an inexpensive way to compete. He studied grandmaster games clipped from newspapers and challenged local players with a makeshift board. Show more
Wesley So grew up in Cavite in the Philippines, where neighbourhood chess offered an inexpensive way to compete. He studied grandmaster games clipped from newspapers and challenged local players with a makeshift board. Winning the Philippine under-10 title in 2003 took him to his first international youth championship. He became a grandmaster at fourteen. A scholarship brought him to Webster University in 2012. He initially hoped that a degree would lead to a conventional job in the United States. After meeting Lotis Key and Bambi Kabigting, who later adopted him, he gained the practical and emotional support to try full-time professional chess.
So began representing the United States in 2014. He won the Bilbao Masters in 2015. Victories at the Sinquefield Cup and London Chess Classic carried him to the 2016 Grand Chess Tour title. At that year's Olympiad, he won both team and individual gold. He added the Tata Steel Masters and his first U.S. Championship in 2017.
In 2019, So defeated Magnus Carlsen to become the first official World Fischer Random Champion. That format has remained a particular enthusiasm because it reduces the role of memorized opening preparation. He won the Grand Chess Tour again in 2021. Further U.S. titles brought his total to four by 2026, alongside another American Cup victory and repeated successes at the Sinquefield Cup.
Ratings
Rapid
2704Published FIDE
Blitz
2745Published FIDE
USCF Regular
2840Published US Chess
Official classical ranks
- World rank
- #6
- National rank · USA
- #3
Active players · Nov 2026 FIDE list ⓘ
Rating milestones
- Highest recorded rating
- 2822 Feb 2017
- Recorded years
- 2005–2026
- Archived games
- 2609
Based on available monthly lists and saved games.
Rating history
USCF rating history
Published rating lists through Nov 2026.
Download chart or data
View rating lists
FIDE rating history
Published rating lists through Nov 2026.
Download chart or data
View rating lists
Games
Published games available in our archive; coverage varies by tournament. Archive last checked: 2026-11-11 (UTC).
Online games are identified from known tournament names, playing sites and PGN mode. Other games are listed as OTB (over-the-board).
| # | Date | Event | Site | Round | White | Black | Result | Moves | View |
|---|---|---|---|---|---|---|---|---|---|
| 2101 | 2020-09-13 | Champ Showdown 9LX 2020 | lichess.org INT | 8.1 | Garry Kasparov | Wesley So | Draw: 1/2-1/2 | 39 | Open |
| 2102 | 2020-09-13 | Champ Showdown 9LX 2020 | lichess.org INT | 7.5 | Hikaru Nakamura | Wesley So | Draw: 1/2-1/2 | 20 | Open |
| 2103 | 2020-09-12 | Champ Showdown 9LX 2020 | lichess.org INT | 9.5 | Wesley So | Alireza Firouzja | Lost: 0-1 | 39 | Open |
| 2104 | 2020-09-12 | Champ Showdown 9LX 2020 | lichess.org INT | 6.2 | Wesley So | Fabiano Caruana | Draw: 1/2-1/2 | 71 | Open |
| 2105 | 2020-09-12 | Champ Showdown 9LX 2020 | lichess.org INT | 5.4 | Magnus Carlsen | Wesley So | Won: 0-1 | 29 | Open |
| 2106 | 2020-09-12 | Champ Showdown 9LX 2020 | lichess.org INT | 4.3 | Wesley So | Maxime Vachier-Lagrave | Draw: 1/2-1/2 | 68 | Open |
| 2107 | 2020-09-11 | Champ Showdown 9LX 2020 | lichess.org INT | 3.3 | Levon Aronian | Wesley So | Draw: 1/2-1/2 | 14 | Open |
| 2108 | 2020-09-11 | Champ Showdown 9LX 2020 | lichess.org INT | 2.4 | Wesley So | Leinier Dominguez Perez | Draw: 1/2-1/2 | 57 | Open |
| 2109 | 2020-09-11 | Champ Showdown 9LX 2020 | lichess.org INT | 1.2 | Peter Svidler | Wesley So | Won: 0-1 | 38 | Open |
| 2110 | 2020-08-29 | Online Olym KO Stage 2020 | chess.com INT | 3.22 | Wesley So | Alexander Grischuk | Won: 1-0 | 51 | Open |
| 2111 | 2020-08-29 | Online Olym KO Stage 2020 | chess.com INT | 3.21 | Alexander Grischuk | Wesley So | Draw: 1/2-1/2 | 23 | Open |
| 2112 | 2020-08-28 | Online Olym KO Stage 2020 | chess.com INT | 2.42 | Anton Korobov | Wesley So | Won: 0-1 | 54 | Open |
| 2113 | 2020-08-28 | Online Olym KO Stage 2020 | chess.com INT | 2.41 | Wesley So | Vasyl Ivanchuk | Won: 1-0 | 27 | Open |
| 2114 | 2020-08-23 | Online Olym Top DivD 2020 | chess.com INT | 9.3 | Nikolay Noritsyn | Wesley So | Won: 0-1 | 30 | Open |
| 2115 | 2020-08-23 | Online Olym Top DivD 2020 | chess.com INT | 8.4 | Wesley So | Emilio Cordova | Draw: 1/2-1/2 | 51 | Open |
| 2116 | 2020-08-23 | Online Olym Top DivD 2020 | chess.com INT | 7.2 | Jan-Krzysztof Duda | Wesley So | Lost: 1-0 | 47 | Open |
| 2117 | 2020-08-22 | Online Olym Top DivD 2020 | chess.com INT | 6.5 | Wesley So | Alan Pichot | Draw: 1/2-1/2 | 49 | Open |
| 2118 | 2020-08-22 | Online Olym Top DivD 2020 | chess.com INT | 5.1 | Wesley So | Yasser Quesada Perez | Won: 1-0 | 27 | Open |
| 2119 | 2020-08-22 | Online Olym Top DivD 2020 | chess.com INT | 4.5 | Alexandr Fier | Wesley So | Draw: 1/2-1/2 | 29 | Open |
| 2120 | 2020-08-21 | Online Olym Top DivD 2020 | chess.com INT | 3.2 | Wesley So | Daniele Vocaturo | Won: 1-0 | 46 | Open |
| 2121 | 2020-08-21 | Online Olym Top DivD 2020 | chess.com INT | 2.4 | Neuris Delgado Ramirez | Wesley So | Draw: 1/2-1/2 | 25 | Open |
| 2122 | 2020-08-21 | Online Olym Top DivD 2020 | chess.com INT | 1.3 | Wesley So | Dimitrios Mastrovasilis | Won: 1-0 | 23 | Open |
| 2123 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.9 | Wesley So | Fabiano Caruana | Won: 1-0 | 58 | Open |
| 2124 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.8 | Fabiano Caruana | Wesley So | Lost: 1-0 | 42 | Open |
| 2125 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.7 | Wesley So | Fabiano Caruana | Lost: 0-1 | 53 | Open |
| 2126 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.12 | Fabiano Caruana | Wesley So | Draw: 1/2-1/2 | 28 | Open |
| 2127 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.11 | Wesley So | Fabiano Caruana | Lost: 0-1 | 81 | Open |
| 2128 | 2020-06-12 | Clutch Chess Showdown Int | lichess.org INT | 2.1 | Fabiano Caruana | Wesley So | Lost: 1-0 | 26 | Open |
| 2129 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.6 | Wesley So | Fabiano Caruana | Draw: 1/2-1/2 | 49 | Open |
| 2130 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.5 | Fabiano Caruana | Wesley So | Won: 0-1 | 53 | Open |
| 2131 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.4 | Wesley So | Fabiano Caruana | Draw: 1/2-1/2 | 55 | Open |
| 2132 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.3 | Fabiano Caruana | Wesley So | Draw: 1/2-1/2 | 52 | Open |
| 2133 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.2 | Wesley So | Fabiano Caruana | Won: 1-0 | 78 | Open |
| 2134 | 2020-06-11 | Clutch Chess Showdown Int | lichess.org INT | 2.1 | Fabiano Caruana | Wesley So | Won: 0-1 | 32 | Open |
| 2135 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.9 | Maxime Vachier-Lagrave | Wesley So | Lost: 1-0 | 62 | Open |
| 2136 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.8 | Wesley So | Maxime Vachier-Lagrave | Draw: 1/2-1/2 | 45 | Open |
| 2137 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.7 | Maxime Vachier-Lagrave | Wesley So | Draw: 1/2-1/2 | 65 | Open |
| 2138 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.12 | Wesley So | Maxime Vachier-Lagrave | Won: 1-0 | 15 | Open |
| 2139 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.11 | Maxime Vachier-Lagrave | Wesley So | Won: 0-1 | 59 | Open |
| 2140 | 2020-06-08 | Clutch Chess Showdown Int | lichess.org INT | 1.1 | Wesley So | Maxime Vachier-Lagrave | Draw: 1/2-1/2 | 38 | Open |
| 2141 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.6 | Maxime Vachier-Lagrave | Wesley So | Draw: 1/2-1/2 | 57 | Open |
| 2142 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.5 | Wesley So | Maxime Vachier-Lagrave | Won: 1-0 | 44 | Open |
| 2143 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.4 | Maxime Vachier-Lagrave | Wesley So | Won: 0-1 | 45 | Open |
| 2144 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.3 | Wesley So | Maxime Vachier-Lagrave | Draw: 1/2-1/2 | 26 | Open |
| 2145 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.2 | Maxime Vachier-Lagrave | Wesley So | Draw: 1/2-1/2 | 73 | Open |
| 2146 | 2020-06-06 | Clutch Chess Showdown Int | lichess.org INT | 1.1 | Wesley So | Maxime Vachier-Lagrave | Draw: 1/2-1/2 | 70 | Open |
| 2147 | 2020-05-29 | Clutch Champions Showdown | lichess.org INT | 2.9 | Fabiano Caruana | Wesley So | Draw: 1/2-1/2 | 41 | Open |
| 2148 | 2020-05-29 | Clutch Champions Showdown | lichess.org INT | 2.8 | Wesley So | Fabiano Caruana | Lost: 0-1 | 62 | Open |
| 2149 | 2020-05-29 | Clutch Champions Showdown | lichess.org INT | 2.7 | Fabiano Caruana | Wesley So | Lost: 1-0 | 48 | Open |
| 2150 | 2020-05-29 | Clutch Champions Showdown | lichess.org INT | 2.12 | Wesley So | Fabiano Caruana | Lost: 0-1 | 42 | Open |
- vs Garry KasparovDraw · ½–½Black · 2020-09-13 · Round 8.1Champ Showdown 9LX 2020
- vs Hikaru NakamuraDraw · ½–½Black · 2020-09-13 · Round 7.5Champ Showdown 9LX 2020
- vs Alireza FirouzjaLost · 0-1White · 2020-09-12 · Round 9.5Champ Showdown 9LX 2020
- vs Fabiano CaruanaDraw · ½–½White · 2020-09-12 · Round 6.2Champ Showdown 9LX 2020
- vs Magnus CarlsenWon · 0-1Black · 2020-09-12 · Round 5.4Champ Showdown 9LX 2020
- vs Maxime Vachier-LagraveDraw · ½–½White · 2020-09-12 · Round 4.3Champ Showdown 9LX 2020
- vs Levon AronianDraw · ½–½Black · 2020-09-11 · Round 3.3Champ Showdown 9LX 2020
- vs Leinier Dominguez PerezDraw · ½–½White · 2020-09-11 · Round 2.4Champ Showdown 9LX 2020
- vs Peter SvidlerWon · 0-1Black · 2020-09-11 · Round 1.2Champ Showdown 9LX 2020
- vs Alexander GrischukWon · 1-0White · 2020-08-29 · Round 3.22Online Olym KO Stage 2020
- vs Alexander GrischukDraw · ½–½Black · 2020-08-29 · Round 3.21Online Olym KO Stage 2020
- vs Anton KorobovWon · 0-1Black · 2020-08-28 · Round 2.42Online Olym KO Stage 2020
- vs Vasyl IvanchukWon · 1-0White · 2020-08-28 · Round 2.41Online Olym KO Stage 2020
- vs Nikolay NoritsynWon · 0-1Black · 2020-08-23 · Round 9.3Online Olym Top DivD 2020
- vs Emilio CordovaDraw · ½–½White · 2020-08-23 · Round 8.4Online Olym Top DivD 2020
- vs Jan-Krzysztof DudaLost · 1-0Black · 2020-08-23 · Round 7.2Online Olym Top DivD 2020
- vs Alan PichotDraw · ½–½White · 2020-08-22 · Round 6.5Online Olym Top DivD 2020
- vs Yasser Quesada PerezWon · 1-0White · 2020-08-22 · Round 5.1Online Olym Top DivD 2020
- vs Alexandr FierDraw · ½–½Black · 2020-08-22 · Round 4.5Online Olym Top DivD 2020
- vs Daniele VocaturoWon · 1-0White · 2020-08-21 · Round 3.2Online Olym Top DivD 2020
- vs Neuris Delgado RamirezDraw · ½–½Black · 2020-08-21 · Round 2.4Online Olym Top DivD 2020
- vs Dimitrios MastrovasilisWon · 1-0White · 2020-08-21 · Round 1.3Online Olym Top DivD 2020
- vs Fabiano CaruanaWon · 1-0White · 2020-06-12 · Round 2.9Clutch Chess Showdown Int
- vs Fabiano CaruanaLost · 1-0Black · 2020-06-12 · Round 2.8Clutch Chess Showdown Int
- vs Fabiano CaruanaLost · 0-1White · 2020-06-12 · Round 2.7Clutch Chess Showdown Int
- vs Fabiano CaruanaDraw · ½–½Black · 2020-06-12 · Round 2.12Clutch Chess Showdown Int
- vs Fabiano CaruanaLost · 0-1White · 2020-06-12 · Round 2.11Clutch Chess Showdown Int
- vs Fabiano CaruanaLost · 1-0Black · 2020-06-12 · Round 2.1Clutch Chess Showdown Int
- vs Fabiano CaruanaDraw · ½–½White · 2020-06-11 · Round 2.6Clutch Chess Showdown Int
- vs Fabiano CaruanaWon · 0-1Black · 2020-06-11 · Round 2.5Clutch Chess Showdown Int
- vs Fabiano CaruanaDraw · ½–½White · 2020-06-11 · Round 2.4Clutch Chess Showdown Int
- vs Fabiano CaruanaDraw · ½–½Black · 2020-06-11 · Round 2.3Clutch Chess Showdown Int
- vs Fabiano CaruanaWon · 1-0White · 2020-06-11 · Round 2.2Clutch Chess Showdown Int
- vs Fabiano CaruanaWon · 0-1Black · 2020-06-11 · Round 2.1Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveLost · 1-0Black · 2020-06-08 · Round 1.9Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½White · 2020-06-08 · Round 1.8Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½Black · 2020-06-08 · Round 1.7Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveWon · 1-0White · 2020-06-08 · Round 1.12Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveWon · 0-1Black · 2020-06-08 · Round 1.11Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½White · 2020-06-08 · Round 1.1Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½Black · 2020-06-06 · Round 1.6Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveWon · 1-0White · 2020-06-06 · Round 1.5Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveWon · 0-1Black · 2020-06-06 · Round 1.4Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½White · 2020-06-06 · Round 1.3Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½Black · 2020-06-06 · Round 1.2Clutch Chess Showdown Int
- vs Maxime Vachier-LagraveDraw · ½–½White · 2020-06-06 · Round 1.1Clutch Chess Showdown Int
- vs Fabiano CaruanaDraw · ½–½Black · 2020-05-29 · Round 2.9Clutch Champions Showdown
- vs Fabiano CaruanaLost · 0-1White · 2020-05-29 · Round 2.8Clutch Champions Showdown
- vs Fabiano CaruanaLost · 1-0Black · 2020-05-29 · Round 2.7Clutch Champions Showdown
- vs Fabiano CaruanaLost · 0-1White · 2020-05-29 · Round 2.12Clutch Champions Showdown
FIDE tournaments
| Date | Tournament | Type | Score |
|---|---|---|---|
| 2026-10-22 | 2026 US Championship - Rapid Playoff | Rapid | 1½ |
| 2026-10-09 | 2026 US Championship | Classical | 7 |
| 2026-09-16 | 46th Chess Olympiad Samarkand 2026 Open | Classical | 6 |