Stockfish for Mac: a native macOS front end for the Stockfish engine
Beautiful, powerful chess app for the Mac
At a glance
- What is it?
- Stockfish for Mac is a chess analysis application for macOS that pairs the open source Stockfish engine with a native board, supporting multi-PV analysis, UCI engines in general, PGN and FEN handling and hardware detection that picks the right binary for the machine. It is a GPL-3.0 C++ project distributed through the Mac App Store, with the engine binaries and the network evaluation file committed to the repository.
- Who is it for?
- Stockfish for Mac fits a Mac user who wants to review games with the Stockfish engine on the same machine, who wants a native interface rather than a browser board, and who is comfortable with GPL-3.0 terms for a locally installed application.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 24 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What the application is and what it is not
Stockfish for Mac is a chess analysis app, and the project describes it as a powerful one, but the useful way to read it is as a native macOS front end for a well known engine.
The division of labour is stated in the acknowledgements. The application is powered by the open source Stockfish chess engine, and it also uses source code from Tord Romstad's Stockfish for iOS app. So this is not a new engine. It is a Mac application that runs Stockfish, drawn as a Mac application with an Apple-flavoured board.
That framing matters for expectations. You get the analysis quality of Stockfish, which is the point, and you get a native interface that behaves like a Mac application rather than a web board with a WebAssembly engine behind it. You do not get an engine-independent suite: the feature list is scoped around playing and analysing, and the missing features are described as open tickets in the issue tracker rather than as a roadmap.
The application is a two-player capable app, so you can play a game on the board locally, and it gives instant accurate analysis of any game you load. It ships through the Mac App Store, with the download link on the Apple App Store, and there is a project web site at stockfishchess.org/mac/ that serves as the front door for the Mac build.
The primary language is C++, and the repository layout confirms an Xcode project: `Stockfish.xcodeproj/`, a `Stockfish/` directory for the engine side, a `Chess/` directory for the game model, `StockfishTests/` for the test target, an ARCHITECTURE.md at the root, the licence text as license.txt, and the engine binaries themselves. The last push was on 2026-09-30, the repository is not archived, and the recent tags are v2.4.0 on 2026-09-20, v2.4.1 on 2026-09-22 and an older v2.0.1 from 2015-01-31.
The board features that make it usable as an analysis tool
The feature list opens with the board, and the three items there are the ones that separate an analysis app from a playing app.
There are Magic Move animations, which is the visual effect of the best move being played automatically on the board. There is legal move highlight, so the squares a piece can legally reach are marked. And there is a best move arrow, which draws the engine's recommendation on the board itself rather than only listing it in a text pane. For analysis, the arrow is the single most useful of the three, because the question you are asking is usually what should I have played here and the answer is a square, not a line of text.
Then the features that address the mechanics of chess work. There is MultiPV, which is the multi-pv option that shows several candidate moves with their evaluations at once rather than only the single best, and it is the setting that changes an analysis from a verdict into a menu. There is Undo and Redo, which matters when you are stepping through a mistake and then changing your mind about the line you were on. There is support for copying and pasting FEN strings, which is how you move a position in from a browser tab or a puzzle site. And there is support for opening, viewing and saving multi-game PGN files, so a tournament file with dozens of games is a single open rather than a copy-paste exercise.
The app can also interface with any UCI chess engine, not just Stockfish. That is a bigger statement than it sounds, because UCI is the standard protocol and the project is therefore not welded to one engine binary, and it supports some UCI options, so you can adjust engine settings without leaving the app.
What is missing is a feature list too. There is no mention of an opening database, no endgame tablebase, no annotation engine, no tournament manager and no plugin system. The project is candid about this: features it does not have are currently open tickets in the issue tracker, which is a reasonable and unusual way to signal that the backlog is public.
Hardware detection and the three committed engine binaries
The one piece of engineering in this project that has real interest is the hardware detection, and it is visible in the repository layout rather than described at length.
The system performs hardware detection to load a 64-bit, SSE4.2, or Haswell binary. Those are three different builds of the same engine, compiled for different instruction sets, and the application picks the best one the machine can run. The point is that a Haswell build is faster on a machine that has those instructions, and a Mac that lacks them would crash rather than run slowly if the application simply assumed.
The repository confirms the shape of it. At the top level there are three engine binaries committed alongside the source: `stockfish-arm64`, `stockfish-x86-64-bmi2` and `stockfish-x86-64-sse41-popcnt`. The arm64 binary is the Apple Silicon one, and the two x86-64 binaries are the Intel ones, one for BMI2 and one for SSE4.1 with popcnt.
That is the practical consequence of supporting two generations of Mac hardware in one application. The Apple Silicon binary covers the current machines, and the two Intel binaries cover older Intel Macs, which on the x86-64 side are split by whether the processor has the newer instruction sets. A user on an Intel Mac from before those instructions shipped gets the older binary and loses some analysis speed, and the application works out which one without the user configuring anything.
The alternative would be to ship one binary that runs everywhere, which is simpler, or to download the right one at first launch. Committing them makes the application self-contained and makes the build reproducible, at the cost of a repository that carries large binary files and three times the update work when the engine version changes. The project has clearly chosen the self-contained route, and the reason is that an analysis app that has to fetch its engine before it works is a worse experience than one that does not.
The evaluation network is committed the same way, as `nn-1a298aa575a0.nnue` at the top level. The filename carries the content hash, which is how the NNUE file is named in the Stockfish ecosystem, so the file in the tree is pinned to one specific network rather than to a moving target.
The source layout, the Xcode project and the tests
The repository is an Xcode project with several distinct pieces, and the ARCHITECTURE.md file at the root is where the project expects you to start if you want to understand how they fit together.
At the top level there is `Stockfish.xcodeproj/` for the project definition, `Stockfish/` for the engine and its integration, `Chess/` for the chess model, and `StockfishTests/` for the test target. There is a `.github/` directory, a `.gitignore`, an ARCHITECTURE.md, a README.md and license.txt.
The two source directories split along a sensible line. The `Chess/` directory holds the representation of the game itself, the board, the pieces, the moves and the position handling, and the `Stockfish/` directory holds the engine side, which is the part that talks UCI to the engine binary and interprets the analysis. The `StockfishTests/` directory means the project has a test target, which for an application that renders a board and parses PGN is more valuable than it sounds, because the failure modes are mostly about rules and file formats rather than about layout.
The split also explains the acknowledgements. The engine comes from the upstream Stockfish project, and the application code reuses parts of Tord Romstad's Stockfish for iOS, so the `Chess/` directory and the application layer are where the iOS-derived code lives, while the `Stockfish/` directory is where the upstream engine and its build are.
The build story is a Mac build story. There is no CMake file, no Makefile, no package manifest and no CI configuration outside the `.github/` directory, because the project is built with Xcode on a Mac. That is a hard constraint on who can contribute, and it is worth stating plainly: a contributor without a Mac cannot build this, however good their patch is.
The project is GPL version 3, with the licence text in license.txt at the root, and the README asks for pull requests if you make improvements. GPL-3.0 is a deliberate choice for an application, and it has a practical consequence that the project is comfortable with: the app is distributed through the Mac App Store, which is a distribution channel that Apple permits for GPL applications, and the source is published in this repository.
Where Stockfish for Mac is the wrong choice
The first limit is the platform. Everything about the build is an Xcode project, the binaries are macOS binaries, and the release channel is the Mac App Store. A Windows or Linux user gets nothing from this repository, and a Mac user who wants the same engine on those systems uses the upstream engine with a different interface.
The second limit is the analysis feature set. This is a board and an engine, and it does not have the surrounding tools that a serious study setup accumulates. There is no opening database with move counts, no endgame tablebase lookup, no annotation engine that labels your blunders, no game annotation export into a shared format for review, and no plugin system. If your study workflow depends on any of those, this app is one component of a larger setup and you will be running something else alongside it.
The third limit is the size of the commitment the repository makes. Three engine binaries and an NNUE network are committed to the tree, and the whole point of committing them is that the application never downloads its engine. That is a good property for an offline, self-contained app, and it is a bad property for a project that has to track upstream engine releases, because every engine update means committing new binaries and re-releasing the app. The gap between v2.0.1 in 2015 and v2.4.1 in 2026 suggests that process has worked, but the app is only as current as its last release.
The fourth is the App Store. Distribution through the Mac App Store means the app is sandboxed and reviewed, and updates arrive when Apple approves them. For an analysis app that depends on a fast native engine, a sandbox can also constrain what you can do with process spawning and file access, and a user who wants to point the app at an arbitrary engine binary of their own may find that constrained.
Compare that with running the upstream Stockfish engine directly with a general-purpose GUI, or with a browser board that runs the engine through WebAssembly. The difference in approach is that this app is a Mac-specific native product with a curated engine build and a Mac-shaped interface, and you give up cross-platform reach, plugin extensibility and the ability to swap in whatever engine you like for whatever GUI you like. For a Mac user who wants a polished, immediate experience, that is the right trade. For someone who already has a working analysis setup, it is a second opinion rather than an upgrade.
Editorial conclusion
Stockfish for Mac fits a Mac user who wants to review games with the Stockfish engine on the same machine, who wants a native interface rather than a browser board, and who is comfortable with GPL-3.0 terms for a locally installed application. It does not fit a Windows or Linux user, since the binaries and the Xcode project are macOS specific, and it does not fit someone who wants an engine-independent analysis suite with opening databases, endgame tables or a large plugin ecosystem. Before you build it, read ARCHITECTURE.md, since the repository mixes the application, the engine binaries and the network evaluation file, and check that the .nnue file and the three stockfish binaries in the tree are the ones you want to ship rather than the ones your machine would download.
Frequently asked questions
What is Stockfish for Mac?
It is a chess analysis application for macOS that pairs the open source Stockfish engine with a native board. You can play two-player games on it and get instant analysis of any game, and it is distributed through the Mac App Store under GPL version 3.
What analysis features does Stockfish for Mac have?
The board has Magic Move animations, legal move highlight and a best move arrow. The application supports MultiPV, Undo and Redo, copying and pasting FEN strings, opening viewing and saving multi-game PGN files, interfacing with any UCI chess engine, and some UCI options. Features it does not have are tracked as open tickets in the issue tracker.
How does Stockfish for Mac pick the right engine binary?
It performs system hardware detection to load a 64-bit, SSE4.2 or Haswell binary. The repository commits three engine binaries for this, stockfish-arm64, stockfish-x86-64-bmi2 and stockfish-x86-64-sse41-popcnt, so the application is self-contained and never has to download an engine before it works.
What licence is Stockfish for Mac released under?
GPL version 3, with the licence text in license.txt at the repository root, and the project asks for pull requests if you make improvements. The recent releases are v2.4.0 from 2026-09-20 and v2.4.1 from 2026-09-22, and the last push was on 2026-09-30.
Which engine does Stockfish for Mac use?
The application is powered by the open source Stockfish chess engine, and it also uses source code from Tord Romstad's Stockfish for iOS app. The repository includes a Stockfish directory for the engine side, a Chess directory for the game model and a StockfishTests directory for the test target.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/daylen-stockfish-mac)Was this useful?