The short version
- The chessGM engine played 10 games against Sjeng 11.2, the chess engine inside Apple’s Chess app (Chess.app) at its strongest setting, and won all 10, every one by checkmate, five opening lines with each colour.
- Chess.app’s strongest setting says “Computer thinks 256 seconds per move”, but the engine does not actually use that long. We measured about 6.3 to 6.5 seconds of processor time per move, and gave chessGM the same time on the clock. Sjeng actually averaged slightly more than chessGM.
- Stockfish, run at depth 16 over every move, found 5 blunders, 8 mistakes and 14 inaccuracies by Sjeng and 1 inaccuracy by chessGM. Average centipawn loss was 9.5 for chessGM and 50.4 for Sjeng.
- We did not place Sjeng on a rating scale from these games, because ten losses only give an upper limit. A separate set of 12 games against Stockfish puts it at about 2557 on Stockfish’s own UCI_Elo scale, with a wide range of 2313 to 2797. That scale is not a chess.com or human rating.
- These are computer-versus-computer games. Nothing here says how either engine plays people. Apple and Chess.app are Apple’s names, and Apple has not taken part in or approved this test.
What we did, and how fair it was
Chess.app ships with macOS and plays with an engine called Sjeng. We wanted to know how the current chessGM engine compares with it at its best, so we played ten games from five opening lines, played from both colours, so neither side got only the easier side of an opening.
- chessGM: its current engine, 1 thread and a 64 MB hash, so a modest setup on one core.
- Sjeng: version 11.2, as shipped inside Chess.app, with the strength slider pushed all the way to the right.
- Time: Chess.app’s top setting stores a search time value of 12 and sends Sjeng only a depth limit of 30, with no clock command. In practice Sjeng spent about 6.3 to 6.5 seconds of processor time per move. We gave chessGM the same wall time. Averaged over the ten games, chessGM used about 6.4 seconds per move and Sjeng about 7.6, so Sjeng had slightly more.
- Pondering (thinking on the opponent’s time) was switched off for Sjeng.
One important detail: the games were played headless, with both engines run through the same sjeng program that Chess.app uses, because Chess.app cannot be driven live by another program. The Chess.app screenshots further down are replays: afterwards we opened each game in the app and photographed the window. They show the real app and the real moves, not a live game inside it.

Every game
Accuracy is the deep review’s score from 0 to 100 for how close each side’s moves were to the best moves it found. The deep review searches 18 half-moves per move and is the same review used in the chessGM app.
| # | chessGM | Result | chessGM accuracy | Sjeng accuracy |
|---|---|---|---|---|
| 1 | White | 1-0 mate | 97.8 | 89.6 |
| 2 | Black | 0-1 mate | 96.7 | 92 |
| 3 | White | 1-0 mate | 98.2 | 95.3 |
| 4 | Black | 0-1 mate | 98.4 | 96.1 |
| 5 | White | 1-0 mate | 99.3 | 82.4 |
| 6 | Black | 0-1 mate | 98.5 | 86.5 |
| 7 | White | 1-0 mate | 98.2 | 85.3 |
| 8 | Black | 0-1 mate | 96.2 | 92.8 |
| 9 | White | 1-0 mate | 95.6 | 72.3 |
| 10 | Black | 0-1 mate | 98.4 | 90.6 |
Download all 10 games as one PGN file
Accuracy under three reviews
The three analysers differ in depth and in how they turn an evaluation into a score, but they agree on the picture: chessGM played close to the best moves the analysers could find, and Sjeng made a steady stream of small and larger errors. Sjeng’s search depth averaged about 10.5 half-moves against about 21.9 for chessGM, in the same amount of time.
How the games went
Key moments
Game 9: the shortest win, a bishop sacrifice on h7
Game 9 is the shortest of the ten: chessGM as White won in 19 moves (37 plies) from a Bogo-Indian line. The position below is before the turning point. The green arrow is the move the engine played.



Game 1: Sjeng’s biggest slip


Game 3: a blunder in a long game

What Stockfish said about the mistakes
We asked Stockfish at depth 16 to grade every move of every game by how much the evaluation fell compared with its best move. By that measure Sjeng made 5 blunders, 8 mistakes and 14 inaccuracies across the ten games. chessGM made one inaccuracy and no mistakes or blunders. Average centipawn loss, a rough measure of how far each side’s moves were from Stockfish’s best, was 9.5 for chessGM and 50.4 for Sjeng. These are one analyser’s opinions, so we use them as a second view, not as proof.
How strong is Sjeng at its maximum? The honest answer
A 10–0 score tells you chessGM is clearly stronger. It cannot tell you by how much, because a perfect result has no upper limit on the other side of the score. Ten losses bound Sjeng from above: the 95 percent upper limit on its rating is about 2994, which is not very informative.
To place it better we played Sjeng against Stockfish limited to fixed strength settings (its UCI_Elo scale), 12 games in all: four each against Stockfish settings of 2300, 2600 and 2900. Sjeng scored 75 percent against 2300, 62.5 percent against 2600 and nothing against 2900. A maximum-likelihood fit puts Sjeng at about 2557 on that scale, with a 95 percent range of 2313 to 2797. The range is wide because 12 games is a small sample. Stockfish had 1 second per move and Sjeng about 6.5 seconds in those games.
So please read it as “somewhere around the mid-2500s on Stockfish’s scale”, not as a precise number. That scale is anchored to engine ratings at long time controls. It is not chess.com’s bot scale and not a human rating, and it should not be compared with them.
What the numbers do and do not mean
- Ten games is a small sample. The clear gap in accuracy and in errors is the stronger evidence than the 10–0 itself.
- Both sides ran on our hardware at about the same time per move. A different machine or time control would change the details.
- Sjeng here is version 11.2 at the strongest Chess.app setting with pondering off, and chessGM is its current engine on one thread. Other settings give other results.
- These are computer games. Nothing here says how either engine would do against a person, and the games were not rated or competitive.
- The screenshots are replays opened in Chess.app, not live games.
- Accuracy scores are each analyser’s own measure and a winning side scores high more easily.
How to repeat this yourself: open Chess on a Mac (the app that comes with macOS) and choose New Game with Human vs. Computer, then slide the computer setting to Stronger. The engine inside is Sjeng. Play it, then paste the game into any analysis tool to see where the evaluation moved. You will not get the same equal-time conditions we used by playing live, because the app’s own timer is not the time the engine really uses, but it is the quickest way to see Sjeng for yourself.
Try it
The engine in this report is the one behind chessGM. You can play it at the strength you choose, review your own games with the same quick and deep reviews we used here, and follow a training plan for your rating. Both the app and its guide are free.
The earlier report: chessGM against chess.com’s computer bots
Sources
- The ten games: PGN file linked above, played headless on 20 October 2026.
- Accuracy and labels: the chessGM app’s quick (depth 12) and deep (depth 18) reviews, and Stockfish 19 at depth 16.
- Calibration: 12 games of Sjeng against Stockfish at UCI_Elo 2300, 2600 and 2900, with a maximum-likelihood fit and a 95 percent likelihood interval.
- Apple, Mac, macOS and Chess are Apple’s names and trademarks, used here as plain text. We are not affiliated with Apple, and Apple did not take part in this test.
About the authors
22Softwares is a software company in Thessaloniki, Greece and Dhaka, Bangladesh. We build and run chessGM and Carrom by 22Softwares. This report was written by the 22Softwares team from data produced by the chessGM engine team. Questions and corrections are welcome at info@22softwares.com.
Facts and numbers from the chessGM team’s Apple Chess report (20 October 2026). Counts, means and charts on this page are computed from that data.