explaingit

official-stockfish/stockfish

Analysis updated 2026-06-24

15,497C++Audience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

A strong free chess engine that analyzes positions and finds the best moves. Speaks UCI so you plug it into a chess GUI of your choice.

Mindmap

mindmap
  root((Stockfish))
    Inputs
      Chess position
      UCI commands
      NNUE network file
    Outputs
      Best move
      Evaluation score
      Principal variation
    Use Cases
      Power a chess GUI
      Analyze your own games
      Train against a strong opponent
    Tech Stack
      C++
      NNUE
      Makefile
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Plug Stockfish into a chess GUI like Arena or Cute Chess to play and analyze

USE CASE 2

Build a chess analysis bot that scores moves from a position

USE CASE 3

Run your own engine tournaments to compare openings or settings

What is it built with?

C++NNUEMake

How does it compare?

official-stockfish/stockfishscylladb/scylladbhoffstadt/dearpygui
Stars15,49715,54015,418
LanguageC++C++C++
Setup difficultymoderatehardeasy
Complexity4/55/52/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

You compile a binary, then pair it with a separate chess GUI app since Stockfish has no UI of its own.

GPL v3: you can use, modify and redistribute it for free, but anything you ship that builds on it must also be open source under GPL v3.

In plain English

Stockfish is a free chess engine, a program that analyzes chess positions and computes the best possible moves. It is derived from an earlier engine called Glaurung 2.1. The term "UCI" in its description stands for Universal Chess Interface, a standard protocol that allows chess engines to communicate with graphical frontends (the visual boards where you can move pieces). Stockfish itself does not include any visual interface, you pair it with a separate GUI application of your choice to see the board and play. Under the hood, Stockfish uses neural networks for position evaluation. These networks were trained on data provided by the Leela Chess Zero project. The neural network data is stored in a file with the .nnue extension, which in binary releases is embedded directly into the program. The engine supports 32-bit and 64-bit CPUs and can be compiled on Unix-like systems using the included Makefile. It is written in C++ and is released under the GNU General Public License version 3 (GPL v3), which means you can use, share, and modify it freely as long as you also distribute the source code and keep it under the same license. Engine testing and improvement happens through a community platform called Fishtest, where contributors can donate their computer hardware to help run testing of potential improvements to the engine's playing strength. Discussions and development coordination take place on the project's Discord server.

Copy-paste prompts

Prompt 1
Walk me through compiling Stockfish from source on macOS and pointing a chess GUI at the binary
Prompt 2
Show me a Python script that talks to Stockfish over UCI and returns the top 3 moves for a FEN string
Prompt 3
Explain what the .nnue file does and how to swap in a different network
Prompt 4
Give me a docker-compose setup that runs Stockfish as an analysis service my web app can call

Frequently asked questions

What is stockfish?

A strong free chess engine that analyzes positions and finds the best moves. Speaks UCI so you plug it into a chess GUI of your choice.

What language is stockfish written in?

Mainly C++. The stack also includes C++, NNUE, Make.

What license does stockfish use?

GPL v3: you can use, modify and redistribute it for free, but anything you ship that builds on it must also be open source under GPL v3.

How hard is stockfish to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is stockfish for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub official-stockfish on gitmyhub

Verify against the repo before relying on details.