Stockfish (chess)
Stockfish is a free and open-source chess engine, available for various desktop and mobile platforms. It can be used in chess software through the Universal Chess Interface.
Stockfish has been one of the strongest chess engines in the world for several years; it has won all main events of the Top Chess Engine Championship and the Chess.com Computer Chess Championship since 2020 and, as of 2026, is the strongest CPU chess engine in the world with an estimated Elo rating of 3645, in a time control of 40/15, according to CCRL.
The Stockfish engine was developed by Tord Romstad, Marco Costalba, and Joona Kiiski, and was derived from Glaurung, an open-source engine by Tord Romstad released in 2004. It is now being developed and maintained by the Stockfish community.
Stockfish historically used only a classical hand-crafted function to evaluate board positions, but with the introduction of the efficiently updatable neural network in August 2020, Stockfish 12 adopted a hybrid evaluation system that primarily used the neural network and occasionally relied on the hand-crafted evaluation. In July 2023, Stockfish removed the hand-crafted evaluation and transitioned to a fully neural network-based approach.
Features
Stockfish uses a tree-search algorithm based on alpha–beta search with several hand-designed heuristics. Stockfish represents positions using bitboards.Stockfish supports Chess960, a feature it inherited from Glaurung. Support for Syzygy tablebases, previously available in a fork maintained by Ronald de Man, was integrated into Stockfish in 2014. In 2018 support for the 7-man Syzygy was added, shortly after the tablebase was made available. Stockfish supports an unlimited number of CPU threads in multiprocessor systems, with a maximum transposition table size of 32 TB.
Stockfish has been a very popular engine on various platforms. On desktop, it is the default chess engine bundled with the Internet Chess Club interface programs BlitzIn and Dasher. On mobile, it has been bundled with the Stockfish app, SmallFish and Droidfish. Other Stockfish-compatible graphical user interfaces include Fritz, Arena, Stockfish for Mac, and PyChess. Stockfish can be compiled to WebAssembly or JavaScript, allowing it to run in the browser. Both Chess.com and Lichess provide Stockfish in this form in addition to a server-side program. Release versions and development versions are available as C++ source code and as precompiled versions for Microsoft Windows, macOS, Linux 32-bit/64-bit and Android.
History
The program originated from Glaurung, an open-source chess engine created by Tord Romstad and first released in 2004. Four years later, Marco Costalba forked the project, naming it Stockfish because it was "produced in Norway and cooked in Italy". The first version, Stockfish 1.0, was released in November 2008. For a while, new ideas and code changes were transferred between the two programs in both directions, until Romstad decided to discontinue Glaurung in favor of Stockfish, which was the stronger engine at the time. The last Glaurung version was released in December 2008.Around 2011, Romstad decided to abandon his involvement with Stockfish in order to spend more time on his new iOS chess app. On 18 June 2014 Marco Costalba announced that he had "decided to step down as Stockfish maintainer" and asked that the community create a fork of the current version and continue its development. An official repository, managed by a volunteer group of core Stockfish developers, was created soon after and currently manages the development of the project.
Fishtest
Since 2013, Stockfish has been developed using a distributed testing framework named Fishtest, where volunteers can donate CPU time for testing improvements to the program.Changes to game-playing code are accepted or rejected based on results of playing of tens of thousands of games on the framework against an older "reference" version of the program, using sequential probability ratio testing. Tests on the framework are verified using the chi-squared test, and only if the results are statistically significant are they deemed reliable and used to revise the software code.
After the inception of Fishtest, Stockfish gained 120 Elo points in 12 months, propelling it to the top of all major rating lists.
, the framework has used a total of more than 19,600 years of CPU time to play over 9.8 billion chess games.
NNUE
In June 2020, Stockfish introduced the efficiently updatable neural network approach, based on earlier work by computer shogi programmers. Instead of using manually designed heuristics to evaluate the board, this approach introduced a neural network trained on millions of positions which could be evaluated quickly on CPU. On 2 September 2020, the twelfth version of Stockfish was released, incorporating NNUE, and reportedly winning ten times more game pairs than it loses when matched against version eleven. In July 2023, the classical evaluation was completely removed in favor of the NNUE evaluation.Competition results
Top Chess Engine Championship
Stockfish is a TCEC multiple-time champion and the current leader in trophy count. Ever since TCEC restarted in 2013, Stockfish has finished first or second in every season except one. Stockfish finished second in TCEC Season 4 and 5, with scores of 23–25 first against Houdini 3 and later against Komodo 1142 in the Superfinal event. Season 5 was notable for the winning Komodo team as they accepted the award posthumously for the program's creator Don Dailey, who succumbed to an illness during the final stage of the event. In his honor, the version of Stockfish that was released shortly after that season was named "Stockfish DD".On 30 May 2014, Stockfish 170514 convincingly won TCEC Season 6, scoring 35.5–28.5 against Komodo 7x in the Superfinal. Stockfish 5 was released the following day. In TCEC Season 7, Stockfish again made the Superfinal, but lost to Komodo with a score of 30.5–33.5. In TCEC Season 8, despite losses on time caused by buggy code, Stockfish nevertheless qualified once more for the Superfinal, but lost 46.5–53.5 to Komodo. In Season 9, Stockfish defeated Houdini 5 with a score of 54.5–45.5.
Stockfish finished third during season 10 of TCEC, the only season since 2013 in which Stockfish had failed to qualify for the superfinal. It did not lose a game but was still eliminated because it was unable to score enough wins against lower-rated engines. After this technical elimination, Stockfish went on a long winning streak, winning seasons 11, 12, and 13 convincingly. In Season 14, Stockfish faced a new challenger in Leela Chess Zero, eking out a win by one point. Its winning streak was finally ended in Season 15, when Leela qualified again and won 53.5–46.5, but Stockfish promptly won Season 16, defeating AllieStein 54.5–45.5, after Leela failed to qualify for the Superfinal. In Season 17, Stockfish faced Leela again in the superfinal, losing 52.5–47.5. However, Stockfish has won every Superfinal since: beating Leela 53.5–46.5 in Season 18, 54.5–45.5 in Season 19, 53–47 in Season 20, and 56–44 in Season 21. In Season 22, Komodo Dragon beat out Leela to qualify for the Superfinal, losing to Stockfish by a large margin 59.5–40.5. Stockfish did not lose an opening pair in this match. Leela made the Superfinal in Seasons 23 and 24, but was crushed by Stockfish both times. In Season 25, Stockfish once again defeated Leela, but this time by a narrower margin of 52–48.
Stockfish also took part in the TCEC cup, winning the first edition, but was surprisingly upset by Houdini in the semifinals of the second edition. Stockfish recovered to beat Komodo in the third-place playoff. In the third edition, Stockfish made it to the finals, but was defeated by Leela Chess Zero after blundering in a 7-man endgame tablebase draw. It turned this result around in the fourth edition, defeating Leela in the final 4.5–3.5. In TCEC Cup 6, Stockfish finished third after losing to AllieStein in the semifinals, the first time it had failed to make the finals. Since then, Stockfish has consistently won the tournament, with the exception of the 11th edition which Leela won 8.5–7.5.
| Event | Year | Time controls | Result | |
| Season 1 | 2010 | 100+10 | ||
| Season 2 | 2011 | 150+30 | ||
| Season 4 | 2013 | 150+60 | ||
| Season 5 | 2013 | 120+30 | ||
| Season 6 | 2014 | 120+30 | ||
| Season 7 | 2014 | 120+30 | ||
| Season 8 | 2015 | 180+30 | ||
| Season 9 | 2016 | 180+15 | ||
| Season 10 | 2017 | 90+10 | ||
| Season 11 | 2018 | 120+15 | ||
| Season 12 | 2018 | 120+15 | ||
| Season 13 | 2018 | 120+15 | ||
| Season 14 | 2018 | 120+15 | ||
| Season 15 | 2019 | 120+10 | ||
| Season 16 | 2019 | 120+10 | ||
| Season 17 | 2020 | 90+5 | ||
| Season 18 | 2020 | 90+10 | ||
| Season 19 | 2020 | 120+10 | ||
| Season 20 | 2020 | 120+10 | ||
| Season 21 | 2021 | 120+10 | ||
| Season 22 | 2022 | 120+12 | ||
| Season 23 | 2022 | 120+12 | ||
| Season 24 | 2023 | 120+12 | ||
| Season 25 | 2023 | 120+12 | ||
| Season 26 | 2024 | 120+12 | ||
| Season 27 | 2024 | 120+12 | ||
| Season 28 | 2025 | 120+12 |
| Event | Year | Time controls | Result | |
| Cup 1 | 2018 | 30+10 | ||
| Cup 2 | 2019 | 30+5 | ||
| Cup 3 | 2019 | 30+5 | ||
| Cup 4 | 2019 | 30+5 | ||
| Cup 5 | 2020 | 30+5 | ||
| Cup 6 | 2020 | 30+5 | ||
| Cup 7 | 2020 | 30+5 | ||
| Cup 8 | 2021 | 30+5 | ||
| Cup 9 | 2021 | 30+5 | ||
| Cup 10 | 2022 | 30+3 | ||
| Cup 11 | 2023 | 30+3 | ||
| Cup 12 | 2023 | 30+3 | ||
| Cup 13 | 2024 | 30+3 | ||
| Cup 14 | 2024 | 30+3 | ||
| Cup 15 | 2025 | 30+3 | ||
| Cup 16 | 2026 | 30+3 |
| Event | Year | Time controls | Result | |
| FRC 1 | 2019 | 30+5 | ||
| FRC 2 | 2020 | 30+5 | ||
| FRC 3 | 2021 | 30+5 | ||
| FRC 4 | 2022 | 30+5 | ||
| FRC 5 | 2022 | 30+3 | ||
| FRC 6 | 2023 | 30+3 |
| Event | Year | Time controls | Result | |
| Swiss 1 | 2021 | 45+7 | ||
| Swiss 2 | 2021 | 45+7 | ||
| Swiss 3 | 2022 | 45+4.5 | ||
| Swiss 4 | 2023 | 30+3 | ||
| Swiss 5 | 2023 | 30+3 | ||
| Swiss 6 | 2024 | 30+3 | ||
| Swiss 7 | 2024 | 30+3 | ||
| Swiss 8 | 2025 | 30+3 | ||
| Swiss 9 | 2025 | 30+3 |
| Event | Year | Time controls | Result | |
| DFRC 1 | 2022 | 30+3 | ||
| DFRC 2 | 2023 | 30+3 |
| Event | Year | Time controls | Result | |
| FRD 1 | 2023 | 30+3 | ||
| FRD 2 | 2024 | 30+3 | ||
| FRD 3 | 2025 | 30+3 |