Usage π
Using A.C.A.S is easy! Once you have the userscript installed, just keep the GUI open while you're playing on a chess site. By default, the moves it suggests will show up directly on the board you're playing on.
Press Ctrl+D (Cmd+D for Mac) to bookmark this page.
βοΈ Supported Chess Sites
- Battletested (Should work flawlessly)
- Stable (Works fine, but might have some minor bugs)
- Uncertain (Might work fine, be buggy, or not work at all)
β οΈ This list might be outdated. Check out the supported sites by clicking on the see all supported sites button.
π Languages

You can change the language using the flag dropdown found on the top right on the GUI.
βοΈ Settings
βοΈ Floating Panel
The Floating Panel setting creates a small "Picture-in-Picture" view you can resize to be even smaller that will stay on top of every window. It contains important information about the current match.
This setting is very important to know for non-Firefox users because it stops A.C.A.S from freezing, and makes the engine run faster! Firefox users and those that do not want to use this can just create two browser windows next to each other, so that the A.C.A.S tab is visible, even if just a little bit, which also stops A.C.A.S tab from freezing.
βοΈ Chess Engine
The Chess Engine setting changes the engine which is used to calculate moves. We recommend using Stockfish 17 WASM as its the fastest and strongest engine, although it does not play like a human and has a hard time playing badly. If you want to play chess variants, use Fairy Stockfish 14. You can access Lc0 and Fairy Stockfish engines via the ?sab=true
URL parameter. It enables SharedArrayBuffer required by those engines.
- Stockfish <17 (The strongest gameplay)
- Fairy Stockfish 14 (Chess variants)
- Lc0 with Maia (Semi-realistic human-like gameplay)
- Lozza 5 (Quite strong engine-like gameplay)
A.C.A.S takes information from the engine's results to give you insights into the match. Some engines offer less of extra information which cannot then be analyzed. Use Stockfish for best results.
None of these engines will play like a human for you. Do not think you can get away playing 2500 elo matches as a 1000 elo player with an engine. We do not want to hear any complaining on why you got banned when you broke our ToS.
βοΈ Chess Variant
Most users do not play chess variants, you most likely do not need to change this nor the Chess 960. If you happen to play a variant, A.C.A.S should automatically detect the chess variant you're playing if its supported.
The Chess Variant setting changes the type of chess Fairy Stockfish plays. Other engines donβt really support it, but most do support Chess 960, which is a variant of chess in which the piece starting positions are randomized. If you happen to play variants, you need to use Fairy Stockfish Chess Engine. You can access it via ?sab=true
.
βοΈ Engine Elo
The Engine Elo setting controls how strong the engine plays (between 500-3200 elo). Note that engines like Stockfish are very strong, playing way above human 3000 elo. For that reason, making them play at low elo (below 1500) might result in weird behaviour. Stockfish cannot really play extremely low elo (below 1000). Lc0 is better suited for that.

βοΈ Weights
The Lc0 Weights setting determines how the Lc0 engine plays. The weight controls the engine's playing style, influencing the decisions it makes while playing. Maia weights have the elo they're roughly playing at marked on them. The elo and playing style of other weights is not known, but most of them are quite weak. You can access the Lc0 engine via ?sab=true
.
Most weights A.C.A.S has, Maia specifically, are designed to only use 1 search node. It's fine that it goes just to depth 1. Using more than 1 search node might cause weird behavior.
βοΈ Moves On External Site
The Moves On External Site setting adds details about the move (such has the arrow) to the external site, which could be Chess.com for example, directly on the board you're playing on.
Chess sites could implement detections to this. Right now no site seems to detect it, but if you're extra worried, disable this, it doesn't matter if you're not following the engine moves.
βοΈ Theme Color
Theme Color setting and the settings below it allow you to change the theme to your liking.
π© Best Move, π¦ Secondary Move, π₯ Enemy Move
Enemy move is shown if Opponent Move Guess setting is activated and the square an arrow starts from is hovered. The enemy move arrow is just a guess made by the engine and means that the engine thinks after you make the move the arrow suggests, the enemy will make the move the enemy arrow suggests.
βοΈ Render Settings
The rendering settings allow you to display various metrics about the match. These features do not use the chess engine and don't go into great depths if any at all. The features don't give you straight answers on what to do, but just show you the current situation on the board. Could be great features for learning.

βοΈ Colors
Green squares indicate that at least one of your piece is defending that square, and that the enemy does not have any pieces attacking them. The same goes for Red squares, however it indicates that none of your pieces attack that square and that the enemy has at least one piece defending that square.
Orange indicates that the square is contested, which means that at least one of your- and the enemy's piece attacks/defends it. On the other hand, Aqua means that there is no activity on that square, no one is defending it, nor attacking it.
You can often change the board background color on chess sites. If its hard to see the colors, change the board to be something more white and not so colored.
βοΈ Contested Squares
The Contested Squares setting displays contested squares with the color orange. For clarity, fire emojis π₯ indicate contested squares too. If two fire emojis are stacked it means there are 4 or 5 pieces attacking that square. 3 fire emojis stacked mean there are 6 or 7 pieces attacking that square, 4 fire emojis mean that 8 or 9 pieces are attacking it, and so fourth.
The fire emoji can have text, for example, π₯ with -2 text means that the square is defended by 2 less pieces than the enemy attacks it with (e.g. you have 1 piece defending the square, the enemy has 3 pieces attacking it, so 1 - 3 = -2). +2 means that you have 2 more pieces attacking the specific square than the enemy does (e.g. you attack a square with 4 pieces and the enemy defends it with only 2, so 4 - 2 = 2).
βοΈ Own Piece Capture
The Own Piece Capture setting displays your vulnerable pieces. The teardrop emoji π§ appears on your pieces which are vulnerable to attack. It takes into account the value of the pieces, so it doesn't appear if, for example, an enemy Queen attacks your Rook which is protected. However, if an enemy Rook was to attack your Queen, π§ would appear on your Queen.
βοΈ Enemy Piece Capture
The Enemy Piece Capture setting displays vulnerable enemy pieces. The bleed emoji π©Έ appears on enemy pieces which are vulnerable to attack. It takes into account the value of the pieces, so it doesn't appear if, for example, your Queen attacks an enemy Rook which is protected. However, if your Rook was to attack an enemy Queen, π©Έ would appear on the enemy Queen.
βοΈ Advanced Elo Settings
With our testing we didn't seem to get "maximum error" and "probability" settings to work. They don't seem to be supported by many chess engines. If you're a chess engine UCI command guru and know how to enable those settings, PRs are welcome.
For hash memory, 16, 32, 64, 128, 256, 512MB are all great choices. Might or might not actually affect performance. Engines running on the browser have limited resources and might already be using everything they have, so increasing the hash memory might not do anything. Same with increasing the threads.
Didn't find what you were looking for? Perhaps the troubleshoot page can help?
Want to learn even more? Visit the blog page!